[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/InheritViz_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InheritViz_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InheritViz_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InheritViz_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,243 @@
+<!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: InheritViz.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_d3636efc55c6148efe36c59ffa01cb41.html">AST</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InheritViz.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InheritViz_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">//===- InheritViz.cpp - Graphviz visualization for inheritance --*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file implements CXXRecordDecl::viewInheritance, which</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  generates a GraphViz DOT file that depicts the class inheritance</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//  diagram and then calls Graphviz/dot+gv on it.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">//===----------------------------------------------------------------------===//</span></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="ASTContext_8h.html" title="Defines the clang::ASTContext interface.">clang/AST/ASTContext.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="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="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="TypeOrdering_8h.html" title="Allows QualTypes to be sorted and hence used in maps and sets.">clang/AST/TypeOrdering.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/Support/GraphWriter.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include <map></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include <set></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">using namespace </span>llvm;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment"></span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">/// InheritanceHierarchyWriter - Helper class that writes out a</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">/// GraphViz file that diagrams the inheritance hierarchy starting at</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">/// a given C++ class type. Note that we do not use LLVM's</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// GraphWriter, because the interface does not permit us to properly</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// differentiate between uses of types as virtual bases</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// vs. non-virtual bases.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="classclang_1_1InheritanceHierarchyWriter.html">   36</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1InheritanceHierarchyWriter.html">InheritanceHierarchyWriter</a> {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</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>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   raw_ostream &Out;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   std::map<QualType, int, QualTypeOrdering> DirectBaseCount;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   std::set<QualType, QualTypeOrdering> KnownVirtualBases;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classclang_1_1InheritanceHierarchyWriter.html#ac019fa24b0e842ded257ddc5de1c91fd">   43</a></span>   <a class="code" href="classclang_1_1InheritanceHierarchyWriter.html">InheritanceHierarchyWriter</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a>& <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, raw_ostream& Out)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     : Context(Context), Out(Out) { }</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1InheritanceHierarchyWriter.html#a6e6c316ebbd9de53b168e59dd8f8bc97">   46</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InheritanceHierarchyWriter.html#a6e6c316ebbd9de53b168e59dd8f8bc97">WriteGraph</a>(<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="l00047"></a><span class="lineno">   47</span>     Out << <span class="stringliteral">"digraph \""</span> << DOT::EscapeString(Type.<a class="code" href="classclang_1_1QualType.html#af755c58826e02f164c9b1d442762457d">getAsString</a>()) << <span class="stringliteral">"\" {\n"</span>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     WriteNode(Type, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>     Out << <span class="stringliteral">"}\n"</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="keyword">protected</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">  /// WriteNode - Write out the description of node in the inheritance</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// diagram, which may be a base class or it may be the root node.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment"></span>  <span class="keywordtype">void</span> WriteNode(<a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1Type.html">Type</a>, <span class="keywordtype">bool</span> FromVirtual);</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">  /// WriteNodeReference - Write out a reference to the given node,</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">  /// using a unique identifier for each direct base and for the</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">  /// (only) virtual base.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment"></span>  raw_ostream& WriteNodeReference(<a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1Type.html">Type</a>, <span class="keywordtype">bool</span> FromVirtual);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> };</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="classclang_1_1InheritanceHierarchyWriter.html#a7c7d4493973d57cddab531c7cf59fbb3">   63</a></span> <span class="keywordtype">void</span> InheritanceHierarchyWriter::WriteNode(<a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1Type.html">Type</a>, <span class="keywordtype">bool</span> FromVirtual) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> CanonType = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.getCanonicalType(Type);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   <span class="keywordflow">if</span> (FromVirtual) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     <span class="keywordflow">if</span> (KnownVirtualBases.find(CanonType) != KnownVirtualBases.end())</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="comment">// We haven't seen this virtual base before, so display it and</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     <span class="comment">// its bases.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>     KnownVirtualBases.insert(CanonType);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   }</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="comment">// Declare the node itself.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>   Out << <span class="stringliteral">"  "</span>;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   WriteNodeReference(Type, FromVirtual);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   <span class="comment">// Give the node a label based on the name of the class.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   std::string TypeName = Type.<a class="code" href="classclang_1_1QualType.html#af755c58826e02f164c9b1d442762457d">getAsString</a>();</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   Out << <span class="stringliteral">" [ shape=\"box\", label=\""</span> << DOT::EscapeString(TypeName);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   <span class="comment">// If the name of the class was a typedef or something different</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <span class="comment">// from the "real" class name, show the real class name in</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   <span class="comment">// parentheses so we don't confuse ourselves.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <span class="keywordflow">if</span> (TypeName != CanonType.<a class="code" href="classclang_1_1QualType.html#af755c58826e02f164c9b1d442762457d">getAsString</a>()) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>     Out << <span class="stringliteral">"\\n("</span> << CanonType.<a class="code" href="classclang_1_1QualType.html#af755c58826e02f164c9b1d442762457d">getAsString</a>() << <span class="stringliteral">")"</span>;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   }</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="comment">// Finished describing the node.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   Out << <span class="stringliteral">" \"];\n"</span>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="comment">// Display the base classes.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *<a class="code" href="classclang_1_1Decl.html">Decl</a></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *<span class="keyword">></span>(Type-><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="l00096"></a><span class="lineno">   96</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> <a class="code" href="classclang_1_1Base.html">Base</a> = Decl-><a class="code" href="classclang_1_1CXXRecordDecl.html#a830448d054e3dca2db6851bd4605492c">bases_begin</a>();</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>        <a class="code" href="classclang_1_1Base.html">Base</a> != Decl-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); ++<a class="code" href="classclang_1_1Base.html">Base</a>) {</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> CanonBaseType = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.getCanonicalType(<a class="code" href="classclang_1_1Base.html">Base</a>->getType());</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>     <span class="comment">// If this is not virtual inheritance, bump the direct base</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>     <span class="comment">// count for the type.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Base.html">Base</a>->isVirtual())</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>       ++DirectBaseCount[CanonBaseType];</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>     <span class="comment">// Write out the node (if we need to).</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     WriteNode(<a class="code" href="classclang_1_1Base.html">Base</a>->getType(), <a class="code" href="classclang_1_1Base.html">Base</a>->isVirtual());</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>     <span class="comment">// Write out the edge.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     Out << <span class="stringliteral">"  "</span>;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>     WriteNodeReference(Type, FromVirtual);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     Out << <span class="stringliteral">" -> "</span>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     WriteNodeReference(<a class="code" href="classclang_1_1Base.html">Base</a>->getType(), <a class="code" href="classclang_1_1Base.html">Base</a>->isVirtual());</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     <span class="comment">// Write out edge attributes to show the kind of inheritance.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Base.html">Base</a>->isVirtual()) {</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       Out << <span class="stringliteral">" [ style=\"dashed\" ]"</span>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     }</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>     Out << <span class="stringliteral">";"</span>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   }</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> }</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment">/// WriteNodeReference - Write out a reference to the given node,</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment">/// using a unique identifier for each direct base and for the</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">/// (only) virtual base.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment"></span>raw_ostream&</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="classclang_1_1InheritanceHierarchyWriter.html#ae0d2ed55108f1c84c21a3a6f26319e74">  126</a></span> InheritanceHierarchyWriter::WriteNodeReference(<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="l00127"></a><span class="lineno">  127</span>                                                <span class="keywordtype">bool</span> FromVirtual) {</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> CanonType = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.getCanonicalType(Type);</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>   Out << <span class="stringliteral">"Class_"</span> << CanonType.<a class="code" href="classclang_1_1QualType.html#a47bce6c72de199721d20f6e884ccded4">getAsOpaquePtr</a>();</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="keywordflow">if</span> (!FromVirtual)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     Out << <span class="stringliteral">"_"</span> << DirectBaseCount[CanonType];</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="keywordflow">return</span> Out;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">/// viewInheritance - Display the inheritance hierarchy of this C++</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment">/// class using GraphViz.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classclang_1_1CXXRecordDecl.html#a73c0edc404d7be96144f09729e6708b2">  138</a></span> <span class="comment"></span><span class="keywordtype">void</span> CXXRecordDecl::viewInheritance(<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>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> Self = Context.<a class="code" href="classclang_1_1ASTContext.html#a028b11acbffc8c91facbab289df57771" title="Return the unique reference to the type for the specified type declaration.">getTypeDeclType</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   <span class="keywordtype">int</span> FD;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Filename;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>   error_code EC =</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       sys::fs::createTemporaryFile(Self.<a class="code" href="classclang_1_1QualType.html#af755c58826e02f164c9b1d442762457d">getAsString</a>(), <span class="stringliteral">"dot"</span>, FD, Filename);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <span class="keywordflow">if</span> (EC) {</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     llvm::errs() << <span class="stringliteral">"Error: "</span> << EC.message() << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   }</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   llvm::errs() << <span class="stringliteral">"Writing '"</span> << Filename << <span class="stringliteral">"'... "</span>;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   llvm::raw_fd_ostream O(FD, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <a class="code" href="classclang_1_1InheritanceHierarchyWriter.html">InheritanceHierarchyWriter</a> Writer(Context, O);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   Writer.<a class="code" href="classclang_1_1InheritanceHierarchyWriter.html#a6e6c316ebbd9de53b168e59dd8f8bc97">WriteGraph</a>(Self);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   llvm::errs() << <span class="stringliteral">" done. \n"</span>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   O.close();</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   <span class="comment">// Display the graph</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   DisplayGraph(Filename);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InheritViz_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InheritViz_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InheritViz_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InheritViz_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,436 @@
+<!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: InheritViz.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_d3636efc55c6148efe36c59ffa01cb41.html">AST</a></li><li class="navelem"><a class="el" href="dir_e796beea07674cb14e7827e2d3a82e85.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InheritViz.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InheritViz_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/AST/Release+Asserts/InheritViz.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/AST/Release+Asserts/InheritViz.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  InheritViz.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Casting.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/Support/DataTypes.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/include/llvm/Support/GraphWriter.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/include/llvm/Support/DOTGraphTraits.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/include/llvm/Support/Path.h</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.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/StringRef.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticIDs.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/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/AST/../../include/clang/Basic/DiagnosticOptions.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/AST/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.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/DenseMapInfo.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/STLExtras.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/tools/clang/lib/AST/../../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="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Specifiers.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/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/Type.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/AST/../../include/clang/AST/NestedNameSpecifier.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/ADT/FoldingSet.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/AST/../../include/clang/AST/TemplateName.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/AST/../../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="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/AST/../../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="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/ADT/Optional.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/ADT/Twine.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/ErrorHandling.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/BuiltinTypes.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/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/OwningPtr.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/Support/TimeValue.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/Support/system_error.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/AST/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclGroup.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/AST/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/CapturedStmt.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/AST/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/TypeLoc.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/tools/clang/lib/AST/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CanonicalType.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/AST/../../include/clang/AST/CommentCommandTraits.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/AST/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentCommandList.inc:</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/AST/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LangOptions.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/AST/../../include/clang/Basic/ObjCRuntime.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/AST/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Sanitizers.def:</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/AST/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileSystemOptions.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/ADT/DenseSet.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/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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-c/Core.h:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/AddressSpaces.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/SmallPtrSet.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/AST/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ASTUnresolvedSet.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/AST/../../include/clang/AST/ASTVector.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/AST/../../include/clang/AST/UnresolvedSet.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/AST/../../include/clang/AST/DeclAccessPair.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/AST/../../include/clang/AST/Expr.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/AST/../../include/clang/AST/OperationKinds.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/AST/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/TypeTraits.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/AST/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/ExpressionTraits.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/AST/../../include/clang/Basic/Lambda.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/AST/../../include/clang/AST/TypeOrdering.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/Support/GraphWriter.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/GraphTraits.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/Support/DOTGraphTraits.h:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InitHeaderSearch_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitHeaderSearch_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitHeaderSearch_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitHeaderSearch_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,784 @@
+<!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: InitHeaderSearch.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_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InitHeaderSearch.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InitHeaderSearch_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">//===--- InitHeaderSearch.cpp - Initialize header search paths ------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This file implements the InitHeaderSearch class.</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="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="LangOptions_8h.html" title="Defines the clang::LangOptions interface.">clang/Basic/LangOptions.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="config_8h.html">clang/Config/config.h</a>"</span> <span class="comment">// C_INCLUDE_DIRS</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="HeaderSearch_8h.html">clang/Lex/HeaderSearch.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="HeaderSearchOptions_8h.html">clang/Lex/HeaderSearchOptions.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/ADT/SmallPtrSet.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/SmallVector.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/StringExtras.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/Triple.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/ADT/Twine.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/Support/ErrorHandling.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="keyword">using namespace </span>clang::frontend;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="keyword">namespace </span>{</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">/// InitHeaderSearch - This class makes it easier to set the search paths of</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">///  a HeaderSearch object. InitHeaderSearch stores several search path lists</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment">///  internally, which can be sent to a HeaderSearch object in one swoop.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment"></span><span class="keyword">class </span>InitHeaderSearch {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   std::vector<std::pair<IncludeDirGroup, DirectoryLookup> > IncludePath;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">typedef</span> std::vector<std::pair<<a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063a">IncludeDirGroup</a>,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>                       <a class="code" href="classclang_1_1DirectoryLookup.html">DirectoryLookup</a>> >::const_iterator path_iterator;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   std::vector<std::pair<std::string, bool> > SystemHeaderPrefixes;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <a class="code" href="classclang_1_1HeaderSearch.html" title="Encapsulates the information needed to find the file referenced by a #include or #include_next, (sub-)framework lookup, etc.">HeaderSearch</a> &Headers;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="keywordtype">bool</span> Verbose;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   std::string IncludeSysroot;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="keywordtype">bool</span> HasSysroot;</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> <span class="keyword">public</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>   InitHeaderSearch(<a class="code" href="classclang_1_1HeaderSearch.html" title="Encapsulates the information needed to find the file referenced by a #include or #include_next, (sub-)framework lookup, etc.">HeaderSearch</a> &HS, <span class="keywordtype">bool</span> verbose, StringRef sysroot)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     : Headers(HS), Verbose(verbose), IncludeSysroot(sysroot),</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>       HasSysroot(!(sysroot.empty() || sysroot == <span class="stringliteral">"/"</span>)) {</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment"></span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">  /// AddPath - Add the specified path to the specified group list, prefixing</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">  /// the sysroot if used.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddPath(<span class="keyword">const</span> Twine &Path, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063a">IncludeDirGroup</a> Group, <span class="keywordtype">bool</span> isFramework);</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">  /// AddUnmappedPath - Add the specified path to the specified group list,</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment">  /// without performing any sysroot remapping.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddUnmappedPath(<span class="keyword">const</span> Twine &Path, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063a">IncludeDirGroup</a> Group,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>                        <span class="keywordtype">bool</span> isFramework);</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">  /// AddSystemHeaderPrefix - Add the specified prefix to the system header</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">  /// prefix list.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddSystemHeaderPrefix(StringRef Prefix, <span class="keywordtype">bool</span> IsSystemHeader) {</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     SystemHeaderPrefixes.push_back(std::make_pair(Prefix, IsSystemHeader));</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   }</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">  /// AddGnuCPlusPlusIncludePaths - Add the necessary paths to support a gnu</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment">  ///  libstdc++.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddGnuCPlusPlusIncludePaths(StringRef <a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>                                    StringRef ArchDir,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>                                    StringRef Dir32,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                                    StringRef Dir64,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>                                    <span class="keyword">const</span> llvm::Triple &triple);</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">  /// AddMinGWCPlusPlusIncludePaths - Add the necessary paths to support a MinGW</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment">  ///  libstdc++.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddMinGWCPlusPlusIncludePaths(StringRef <a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>                                      StringRef Arch,</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>                                      StringRef Version);</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">  /// AddMinGW64CXXPaths - Add the necessary paths to support</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">  /// libstdc++ of x86_64-w64-mingw32 aka mingw-w64.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddMinGW64CXXPaths(StringRef <a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                           StringRef Version);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="comment">// AddDefaultCIncludePaths - Add paths that should always be searched.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="keywordtype">void</span> AddDefaultCIncludePaths(<span class="keyword">const</span> llvm::Triple &triple,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="comment">// AddDefaultCPlusPlusIncludePaths -  Add paths that should be searched when</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="comment">//  compiling c++.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="keywordtype">void</span> AddDefaultCPlusPlusIncludePaths(<span class="keyword">const</span> llvm::Triple &triple,</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment"></span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">  /// AddDefaultSystemIncludePaths - Adds the default system include paths so</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  ///  that e.g. stdio.h is found.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddDefaultIncludePaths(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>                               <span class="keyword">const</span> llvm::Triple &triple,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>                               <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts);</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">  /// Realize - Merges all search path lists into one list and send it to</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">  /// HeaderSearch.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment"></span>  <span class="keywordtype">void</span> Realize(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> };</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> }  <span class="comment">// end anonymous namespace.</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"><a class="code" href="InitHeaderSearch_8cpp.html#a58685e9b41f60f99a9ed25480a628921">  112</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="InitHeaderSearch_8cpp.html#a58685e9b41f60f99a9ed25480a628921">CanPrefixSysroot</a>(StringRef Path) {</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="preprocessor">#if defined(_WIN32)</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="preprocessor"></span>  <span class="keywordflow">return</span> !Path.empty() && llvm::sys::path::is_separator(Path[0]);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="preprocessor"></span>  <span class="keywordflow">return</span> llvm::sys::path::is_absolute(Path);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="keywordtype">void</span> InitHeaderSearch::AddPath(<span class="keyword">const</span> Twine &Path, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063a">IncludeDirGroup</a> Group,</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>                                <span class="keywordtype">bool</span> isFramework) {</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="comment">// Add the path with sysroot prepended, if desired and this is a system header</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="comment">// group.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   <span class="keywordflow">if</span> (HasSysroot) {</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> MappedPathStorage;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     StringRef MappedPathStr = Path.toStringRef(MappedPathStorage);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>     <span class="keywordflow">if</span> (<a class="code" href="InitHeaderSearch_8cpp.html#a58685e9b41f60f99a9ed25480a628921">CanPrefixSysroot</a>(MappedPathStr)) {</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>       AddUnmappedPath(IncludeSysroot + Path, Group, isFramework);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     }</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   }</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   AddUnmappedPath(Path, Group, isFramework);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> }</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="keywordtype">void</span> InitHeaderSearch::AddUnmappedPath(<span class="keyword">const</span> Twine &Path, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063a">IncludeDirGroup</a> Group,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>                                        <span class="keywordtype">bool</span> isFramework) {</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   assert(!Path.isTriviallyEmpty() && <span class="stringliteral">"can't handle empty path here"</span>);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> &FM = Headers.getFileMgr();</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> MappedPathStorage;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   StringRef MappedPathStr = Path.toStringRef(MappedPathStorage);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   <span class="comment">// Compute the DirectoryLookup type.</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35d" title="Indicates whether a file or directory holds normal user code, system code, or system code which is im...">SrcMgr::CharacteristicKind</a> <a class="code" href="classclang_1_1Type.html">Type</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   <span class="keywordflow">if</span> (Group == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aabe59df1a2dfe245f9dcfb2fc5516ad57" title="'#include ""' paths, added by 'gcc -iquote'.">Quoted</a> || Group == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa18303c35ec8f80fe77f3ff0d5e0d123f" title="Paths for '#include <>' added by '-I'.">Angled</a> || Group == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aae74586d678e9b375a845823cc7ec20cc">IndexHeaderMap</a>) {</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     Type = <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dab0548ddada8d87ad92e94d67e5af0a4f">SrcMgr::C_User</a>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Group == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aac3871ca76b28c20ad0fed2b450a10025">ExternCSystem</a>) {</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     Type = <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35da9023f6ef1ca01526b946dd690e56d951">SrcMgr::C_ExternCSystem</a>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>     Type = <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dac3b930a303c855d8864c56fcc992074e">SrcMgr::C_System</a>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   }</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <span class="comment">// If the directory exists, add it.</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1DirectoryEntry.html" title="Cached information about one directory (either on disk or in the virtual file system).">DirectoryEntry</a> *DE = FM.getDirectory(MappedPathStr)) {</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     IncludePath.push_back(</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       std::make_pair(Group, <a class="code" href="classclang_1_1DirectoryLookup.html">DirectoryLookup</a>(DE, Type, isFramework)));</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>   }</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   <span class="comment">// Check to see if this is an apple-style headermap (which are not allowed to</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   <span class="comment">// be frameworks).</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>   <span class="keywordflow">if</span> (!isFramework) {</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *FE = FM.getFile(MappedPathStr)) {</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderMap.html">HeaderMap</a> *HM = Headers.CreateHeaderMap(FE)) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>         <span class="comment">// It is a headermap, add it to the search path.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>         IncludePath.push_back(</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>           std::make_pair(Group,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                          <a class="code" href="classclang_1_1DirectoryLookup.html">DirectoryLookup</a>(HM, Type, Group == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aae74586d678e9b375a845823cc7ec20cc">IndexHeaderMap</a>)));</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>         <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>       }</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     }</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   }</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   <span class="keywordflow">if</span> (Verbose)</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>     llvm::errs() << <span class="stringliteral">"ignoring nonexistent directory \""</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>                  << MappedPathStr << <span class="stringliteral">"\"\n"</span>;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> }</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="keywordtype">void</span> InitHeaderSearch::AddGnuCPlusPlusIncludePaths(StringRef <a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>                                                    StringRef ArchDir,</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>                                                    StringRef Dir32,</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>                                                    StringRef Dir64,</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>                                                    <span class="keyword">const</span> llvm::Triple &triple) {</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>   <span class="comment">// Add the base dir</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   AddPath(Base, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="comment">// Add the multilib dirs</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   llvm::Triple::ArchType arch = triple.getArch();</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   <span class="keywordtype">bool</span> is64bit = arch == llvm::Triple::ppc64 || arch == llvm::Triple::x86_64;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   <span class="keywordflow">if</span> (is64bit)</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     AddPath(Base + <span class="stringliteral">"/"</span> + ArchDir + <span class="stringliteral">"/"</span> + Dir64, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     AddPath(Base + <span class="stringliteral">"/"</span> + ArchDir + <span class="stringliteral">"/"</span> + Dir32, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   <span class="comment">// Add the backward dir</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   AddPath(Base + <span class="stringliteral">"/backward"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> }</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="keywordtype">void</span> InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base,</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>                                                      StringRef Arch,</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>                                                      StringRef Version) {</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   AddPath(Base + <span class="stringliteral">"/"</span> + Arch + <span class="stringliteral">"/"</span> + Version + <span class="stringliteral">"/include/c++"</span>,</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   AddPath(Base + <span class="stringliteral">"/"</span> + Arch + <span class="stringliteral">"/"</span> + Version + <span class="stringliteral">"/include/c++/"</span> + Arch,</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   AddPath(Base + <span class="stringliteral">"/"</span> + Arch + <span class="stringliteral">"/"</span> + Version + <span class="stringliteral">"/include/c++/backward"</span>,</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> }</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="keywordtype">void</span> InitHeaderSearch::AddMinGW64CXXPaths(StringRef Base,</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>                                           StringRef Version) {</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="comment">// Assumes Base is HeaderSearchOpts' ResourceDir</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   AddPath(Base + <span class="stringliteral">"/../../../include/c++/"</span> + Version,</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   AddPath(Base + <span class="stringliteral">"/../../../include/c++/"</span> + Version + <span class="stringliteral">"/x86_64-w64-mingw32"</span>,</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   AddPath(Base + <span class="stringliteral">"/../../../include/c++/"</span> + Version + <span class="stringliteral">"/i686-w64-mingw32"</span>,</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   AddPath(Base + <span class="stringliteral">"/../../../include/c++/"</span> + Version + <span class="stringliteral">"/backward"</span>,</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>           <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> }</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> <span class="keywordtype">void</span> InitHeaderSearch::AddDefaultCIncludePaths(<span class="keyword">const</span> llvm::Triple &triple,</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts) {</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   llvm::Triple::OSType os = triple.getOS();</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <span class="keywordflow">if</span> (HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#accb2fa9a6d1af19217718168dedde735" title="Include the system standard include search directories.">UseStandardSystemIncludes</a>) {</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     <span class="keywordflow">switch</span> (os) {</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>     <span class="keywordflow">case</span> llvm::Triple::FreeBSD:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>     <span class="keywordflow">case</span> llvm::Triple::NetBSD:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>     <span class="keywordflow">case</span> llvm::Triple::OpenBSD:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>     <span class="keywordflow">case</span> llvm::Triple::Bitrig:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>       <span class="comment">// FIXME: temporary hack: hard-coded paths.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>       AddPath(<span class="stringliteral">"/usr/local/include"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     }</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   }</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   <span class="comment">// Builtin includes use #include_next directives and should be positioned</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <span class="comment">// just prior C include dirs.</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   <span class="keywordflow">if</span> (HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a9728d4297286c77fd6d306eda1d3aade" title="Include the compiler builtin includes.">UseBuiltinIncludes</a>) {</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>     <span class="comment">// Ignore the sys root, we *always* look for clang headers relative to</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="comment">// supplied path.</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = StringRef(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>);</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     llvm::sys::path::append(P, <span class="stringliteral">"include"</span>);</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     AddUnmappedPath(P.str(), <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aac3871ca76b28c20ad0fed2b450a10025">ExternCSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   }</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   <span class="comment">// All remaining additions are for system include directories, early exit if</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   <span class="comment">// we aren't using them.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   <span class="keywordflow">if</span> (!HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#accb2fa9a6d1af19217718168dedde735" title="Include the system standard include search directories.">UseStandardSystemIncludes</a>)</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <span class="comment">// Add dirs specified via 'configure --with-c-include-dirs'.</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   StringRef CIncludeDirs(<a class="code" href="config_8h.html#a9b653e3fcb1af7e29c8ab80aaa42f3cd">C_INCLUDE_DIRS</a>);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   <span class="keywordflow">if</span> (CIncludeDirs != <span class="stringliteral">""</span>) {</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<StringRef, 5></a> dirs;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     CIncludeDirs.split(dirs, <span class="stringliteral">":"</span>);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<StringRef>::iterator</a> i = dirs.begin();</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>          i != dirs.end();</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>          ++i)</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>       AddPath(*i, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aac3871ca76b28c20ad0fed2b450a10025">ExternCSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>     <span class="keywordflow">return</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> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>   <span class="keywordflow">switch</span> (os) {</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   <span class="keywordflow">case</span> llvm::Triple::Linux:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   <span class="keywordflow">case</span> llvm::Triple::Win32:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>     llvm_unreachable(<span class="stringliteral">"Include management is handled in the driver."</span>);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   <span class="keywordflow">case</span> llvm::Triple::Haiku:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     AddPath(<span class="stringliteral">"/boot/common/include"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/app"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/arch"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/device"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/drivers"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/game"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/interface"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/kernel"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/locale"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/mail"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/media"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/midi"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/midi2"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/net"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/storage"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/support"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/translation"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/add-ons/graphics"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/add-ons/input_server"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/add-ons/screen_saver"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/add-ons/tracker"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/be_apps/Deskbar"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/be_apps/NetPositive"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/os/be_apps/Tracker"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/cpp"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/cpp/i586-pc-haiku"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/3rdparty"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/bsd"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/glibc"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>     AddPath(<span class="stringliteral">"/boot/develop/headers/posix"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>     AddPath(<span class="stringliteral">"/boot/develop/headers"</span>,  <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>   <span class="keywordflow">case</span> llvm::Triple::RTEMS:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   <span class="keywordflow">case</span> llvm::Triple::Cygwin:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>     AddPath(<span class="stringliteral">"/usr/include/w32api"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="keywordflow">case</span> llvm::Triple::MinGW32: { </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>       <span class="comment">// mingw-w64 crt include paths</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>       <span class="comment">// <sysroot>/i686-w64-mingw32/include</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>       <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> P = StringRef(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>);</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>       llvm::sys::path::append(P, <span class="stringliteral">"../../../i686-w64-mingw32/include"</span>);</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>       AddPath(P.str(), <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>       <span class="comment">// <sysroot>/x86_64-w64-mingw32/include</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>       P.resize(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>.size());</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>       llvm::sys::path::append(P, <span class="stringliteral">"../../../x86_64-w64-mingw32/include"</span>);</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>       AddPath(P.str(), <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>       <span class="comment">// mingw.org crt include paths</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>       <span class="comment">// <sysroot>/include</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>       P.resize(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>.size());</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>       llvm::sys::path::append(P, <span class="stringliteral">"../../../include"</span>);</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>       AddPath(P.str(), <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>       AddPath(<span class="stringliteral">"/mingw/include"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> <span class="preprocessor">#if defined(_WIN32)</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> <span class="preprocessor"></span>      AddPath(<span class="stringliteral">"c:/mingw/include"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">false</span>); </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="preprocessor"></span>    }</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>       </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   }</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   <span class="keywordflow">if</span> ( os != llvm::Triple::RTEMS )</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>     AddPath(<span class="stringliteral">"/usr/include"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aac3871ca76b28c20ad0fed2b450a10025">ExternCSystem</a>, <span class="keyword">false</span>);</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> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> <span class="keywordtype">void</span> InitHeaderSearch::</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> AddDefaultCPlusPlusIncludePaths(<span class="keyword">const</span> llvm::Triple &triple, <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts) {</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   llvm::Triple::OSType os = triple.getOS();</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="comment">// FIXME: temporary hack: hard-coded paths.</span></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>   <span class="keywordflow">if</span> (triple.isOSDarwin()) {</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>     <span class="keywordflow">switch</span> (triple.getArch()) {</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>     <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>     <span class="keywordflow">case</span> llvm::Triple::ppc:</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     <span class="keywordflow">case</span> llvm::Triple::ppc64:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>       AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.2.1"</span>,</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>                                   <span class="stringliteral">"powerpc-apple-darwin10"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">"ppc64"</span>,</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>                                   triple);</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>       AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.0.0"</span>,</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>                                   <span class="stringliteral">"powerpc-apple-darwin10"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">"ppc64"</span>,</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>                                   triple);</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>       <span class="keywordflow">break</span>;</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>     <span class="keywordflow">case</span> llvm::Triple::x86:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     <span class="keywordflow">case</span> llvm::Triple::x86_64:</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>       AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.2.1"</span>,</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>                                   <span class="stringliteral">"i686-apple-darwin10"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">"x86_64"</span>, triple);</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>       AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.0.0"</span>,</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>                                   <span class="stringliteral">"i686-apple-darwin8"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>       <span class="keywordflow">break</span>;</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="keywordflow">case</span> llvm::Triple::arm:</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>     <span class="keywordflow">case</span> llvm::Triple::thumb:</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>       AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.2.1"</span>,</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>                                   <span class="stringliteral">"arm-apple-darwin10"</span>, <span class="stringliteral">"v7"</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>       AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.2.1"</span>,</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>                                   <span class="stringliteral">"arm-apple-darwin10"</span>, <span class="stringliteral">"v6"</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>       <span class="keywordflow">break</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="keywordflow">return</span>;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   }</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <span class="keywordflow">switch</span> (os) {</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="keywordflow">case</span> llvm::Triple::Linux:</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   <span class="keywordflow">case</span> llvm::Triple::Win32:</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>     llvm_unreachable(<span class="stringliteral">"Include management is handled in the driver."</span>);</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   <span class="keywordflow">case</span> llvm::Triple::Cygwin:</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>     <span class="comment">// Cygwin-1.7</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"/usr/lib/gcc"</span>, <span class="stringliteral">"i686-pc-cygwin"</span>, <span class="stringliteral">"4.7.3"</span>);</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"/usr/lib/gcc"</span>, <span class="stringliteral">"i686-pc-cygwin"</span>, <span class="stringliteral">"4.5.3"</span>);</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"/usr/lib/gcc"</span>, <span class="stringliteral">"i686-pc-cygwin"</span>, <span class="stringliteral">"4.3.4"</span>);</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>     <span class="comment">// g++-4 / Cygwin-1.5</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"/usr/lib/gcc"</span>, <span class="stringliteral">"i686-pc-cygwin"</span>, <span class="stringliteral">"4.3.2"</span>);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   <span class="keywordflow">case</span> llvm::Triple::MinGW32:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     <span class="comment">// mingw-w64 C++ include paths (i686-w64-mingw32 and x86_64-w64-mingw32)</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.5.0"</span>);</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.5.1"</span>);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.5.2"</span>);</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.5.3"</span>);</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.5.4"</span>);</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.6.0"</span>);</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.6.1"</span>);</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.6.2"</span>);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.6.3"</span>);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     AddMinGW64CXXPaths(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>, <span class="stringliteral">"4.7.0"</span>);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="comment">// mingw.org C++ include paths</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"/mingw/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.5.2"</span>); <span class="comment">//MSYS</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> <span class="preprocessor">#if defined(_WIN32)</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> <span class="preprocessor"></span>    AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.8.1"</span>);</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.6.2"</span>);</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.6.1"</span>);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.5.2"</span>);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.5.0"</span>);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.4.0"</span>);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     AddMinGWCPlusPlusIncludePaths(<span class="stringliteral">"c:/MinGW/lib/gcc"</span>, <span class="stringliteral">"mingw32"</span>, <span class="stringliteral">"4.3.0"</span>);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="preprocessor"></span>    <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   <span class="keywordflow">case</span> llvm::Triple::DragonFly:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>     <span class="keywordflow">if</span> (llvm::sys::fs::exists(<span class="stringliteral">"/usr/lib/gcc47"</span>))</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>       AddPath(<span class="stringliteral">"/usr/include/c++/4.7"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>       AddPath(<span class="stringliteral">"/usr/include/c++/4.4"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <span class="keywordflow">case</span> llvm::Triple::FreeBSD:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     <span class="comment">// FreeBSD 8.0</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     <span class="comment">// FreeBSD 7.3</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>     AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/c++/4.2"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keywordflow">case</span> llvm::Triple::OpenBSD: {</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>     std::string t = triple.getTriple();</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>     <span class="keywordflow">if</span> (t.substr(0, 6) == <span class="stringliteral">"x86_64"</span>)</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>       t.replace(0, 6, <span class="stringliteral">"amd64"</span>);</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>     AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/include/g++"</span>,</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>                                 t, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   }</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   <span class="keywordflow">case</span> llvm::Triple::Minix:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>     AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/gnu/include/c++/4.4.3"</span>,</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>                                 <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, triple);</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>   <span class="keywordflow">case</span> llvm::Triple::Solaris:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>     AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/usr/gcc/4.5/include/c++/4.5.2/"</span>,</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>                                 <span class="stringliteral">"i386-pc-solaris2.11"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     <span class="comment">// Solaris - Fall though..</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   <span class="keywordflow">case</span> llvm::Triple::AuroraUX:</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="comment">// AuroraUX</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>     AddGnuCPlusPlusIncludePaths(<span class="stringliteral">"/opt/gcc4/include/c++/4.2.4"</span>,</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>                                 <span class="stringliteral">"i386-pc-solaris2.11"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, triple);</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>   }</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> }</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> <span class="keywordtype">void</span> InitHeaderSearch::AddDefaultIncludePaths(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang,</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>                                               <span class="keyword">const</span> llvm::Triple &triple,</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts) {</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <span class="comment">// NB: This code path is going away. All of the logic is moving into the</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   <span class="comment">// driver which has the information necessary to do target-specific</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   <span class="comment">// selections of default include paths. Each target which moves there will be</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   <span class="comment">// exempted from this logic here until we can delete the entire pile of code.</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>   <span class="keywordflow">switch</span> (triple.getOS()) {</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     <span class="keywordflow">break</span>; <span class="comment">// Everything else continues to use this routine's logic.</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="keywordflow">case</span> llvm::Triple::Linux:</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <span class="keywordflow">case</span> llvm::Triple::Win32:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>     <span class="keywordflow">return</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> </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   <span class="keywordflow">if</span> (Lang.CPlusPlus && HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#aa50fb306fc3b3afd9772e2769cd798d5" title="Include the system standard C++ library include search directories.">UseStandardCXXIncludes</a> &&</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>       HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#accb2fa9a6d1af19217718168dedde735" title="Include the system standard include search directories.">UseStandardSystemIncludes</a>) {</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>     <span class="keywordflow">if</span> (HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a9583c71fac1ed1bc2683a06e7895ee52" title="Use libc++ instead of the default libstdc++.">UseLibcxx</a>) {</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>       <span class="keywordflow">if</span> (triple.isOSDarwin()) {</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>         <span class="comment">// On Darwin, libc++ may be installed alongside the compiler in</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>         <span class="comment">// include/c++/v1.</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>         <span class="keywordflow">if</span> (!HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>.empty()) {</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>           <span class="comment">// Remove version from foo/lib/clang/version</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>           StringRef NoVer = llvm::sys::path::parent_path(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>);</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>           <span class="comment">// Remove clang from foo/lib/clang</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>           StringRef Lib = llvm::sys::path::parent_path(NoVer);</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>           <span class="comment">// Remove lib from foo/lib</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>           <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> P = llvm::sys::path::parent_path(Lib);</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>           <span class="comment">// Get foo/include/c++/v1</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>           llvm::sys::path::append(P, <span class="stringliteral">"include"</span>, <span class="stringliteral">"c++"</span>, <span class="stringliteral">"v1"</span>);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>           AddUnmappedPath(P.str(), <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</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>       }</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>       <span class="comment">// On Solaris, include the support directory for things like xlocale and</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>       <span class="comment">// fudged system headers.</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>       <span class="keywordflow">if</span> (triple.getOS() == llvm::Triple::Solaris) </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>         AddPath(<span class="stringliteral">"/usr/include/c++/v1/support/solaris"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</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>       AddPath(<span class="stringliteral">"/usr/include/c++/v1"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>       AddDefaultCPlusPlusIncludePaths(triple, HSOpts);</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>   }</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>   AddDefaultCIncludePaths(triple, HSOpts);</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>   <span class="comment">// Add the default framework include paths on Darwin.</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   <span class="keywordflow">if</span> (HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#accb2fa9a6d1af19217718168dedde735" title="Include the system standard include search directories.">UseStandardSystemIncludes</a>) {</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="keywordflow">if</span> (triple.isOSDarwin()) {</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>       AddPath(<span class="stringliteral">"/System/Library/Frameworks"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       AddPath(<span class="stringliteral">"/Library/Frameworks"</span>, <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a>, <span class="keyword">true</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>   }</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> <span class="comment"></span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> <span class="comment">/// RemoveDuplicates - If there are duplicate directory entries in the specified</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> <span class="comment">/// search list, remove the later (dead) ones.  Returns the number of non-system</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> <span class="comment">/// headers removed, which is used to update NumAngled.</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno"><a class="code" href="InitHeaderSearch_8cpp.html#ae10b17574b8c95427e93b015bfe58f86">  517</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="InitHeaderSearch_8cpp.html#ae10b17574b8c95427e93b015bfe58f86">RemoveDuplicates</a>(std::vector<DirectoryLookup> &SearchList,</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>                                  <span class="keywordtype">unsigned</span> First, <span class="keywordtype">bool</span> Verbose) {</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   llvm::SmallPtrSet<const DirectoryEntry *, 8> SeenDirs;</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>   llvm::SmallPtrSet<const DirectoryEntry *, 8> SeenFrameworkDirs;</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>   llvm::SmallPtrSet<const HeaderMap *, 8> SeenHeaderMaps;</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>   <span class="keywordtype">unsigned</span> NonSystemRemoved = 0;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = First; i != SearchList.size(); ++i) {</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>     <span class="keywordtype">unsigned</span> DirToRemove = i;</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="keyword">const</span> <a class="code" href="classclang_1_1DirectoryLookup.html">DirectoryLookup</a> &CurEntry = SearchList[i];</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     <span class="keywordflow">if</span> (CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#ad73ae2f7f9adab1d691307d4b64d74ce" title="isNormalDir - Return true if this is a normal directory, not a header map.">isNormalDir</a>()) {</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>       <span class="comment">// If this isn't the first time we've seen this dir, remove it.</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>       <span class="keywordflow">if</span> (SeenDirs.insert(CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a4ea6beb2a269339a17ee3a72042b6ae6">getDir</a>()))</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a1e81ff9ac04ae471ff965245751aa96b">isFramework</a>()) {</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>       <span class="comment">// If this isn't the first time we've seen this framework dir, remove it.</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>       <span class="keywordflow">if</span> (SeenFrameworkDirs.insert(CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a7b1cf0371ddb3d4618a8800582d7c1da">getFrameworkDir</a>()))</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>       assert(CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a2b8927bbf461776675045fac4f27c82c" title="isHeaderMap - Return true if this is a header map, not a normal directory.">isHeaderMap</a>() && <span class="stringliteral">"Not a headermap or normal dir?"</span>);</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>       <span class="comment">// If this isn't the first time we've seen this headermap, remove it.</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>       <span class="keywordflow">if</span> (SeenHeaderMaps.insert(CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a5befe54dae3a4164118863623082d81b">getHeaderMap</a>()))</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>         <span class="keywordflow">continue</span>;</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> </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>     <span class="comment">// If we have a normal #include dir/framework/headermap that is shadowed</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>     <span class="comment">// later in the chain by a system include location, we actually want to</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>     <span class="comment">// ignore the user's request and drop the user dir... keeping the system</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>     <span class="comment">// dir.  This is weird, but required to emulate GCC's search path correctly.</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>     <span class="comment">// Since dupes of system dirs are rare, just rescan to find the original</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>     <span class="comment">// that we're nuking instead of using a DenseMap.</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>     <span class="keywordflow">if</span> (CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a13aa3b065e4450a3d32ea5ee69aa06c6">getDirCharacteristic</a>() != <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dab0548ddada8d87ad92e94d67e5af0a4f">SrcMgr::C_User</a>) {</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>       <span class="comment">// Find the dir that this is the same of.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>       <span class="keywordtype">unsigned</span> FirstDir;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>       <span class="keywordflow">for</span> (FirstDir = 0; ; ++FirstDir) {</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>         assert(FirstDir != i && <span class="stringliteral">"Didn't find dupe?"</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>         <span class="keyword">const</span> <a class="code" href="classclang_1_1DirectoryLookup.html">DirectoryLookup</a> &SearchEntry = SearchList[FirstDir];</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> </div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>         <span class="comment">// If these are different lookup types, then they can't be the dupe.</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>         <span class="keywordflow">if</span> (SearchEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a91fd7fbc6af7042cc932b82def6bcdac">getLookupType</a>() != CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a91fd7fbc6af7042cc932b82def6bcdac">getLookupType</a>())</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>           <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>         <span class="keywordtype">bool</span> isSame;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>         <span class="keywordflow">if</span> (CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#ad73ae2f7f9adab1d691307d4b64d74ce" title="isNormalDir - Return true if this is a normal directory, not a header map.">isNormalDir</a>())</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>           isSame = SearchEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a4ea6beb2a269339a17ee3a72042b6ae6">getDir</a>() == CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a4ea6beb2a269339a17ee3a72042b6ae6">getDir</a>();</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a1e81ff9ac04ae471ff965245751aa96b">isFramework</a>())</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>           isSame = SearchEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a7b1cf0371ddb3d4618a8800582d7c1da">getFrameworkDir</a>() == CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a7b1cf0371ddb3d4618a8800582d7c1da">getFrameworkDir</a>();</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>         <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>           assert(CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a2b8927bbf461776675045fac4f27c82c" title="isHeaderMap - Return true if this is a header map, not a normal directory.">isHeaderMap</a>() && <span class="stringliteral">"Not a headermap or normal dir?"</span>);</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>           isSame = SearchEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a5befe54dae3a4164118863623082d81b">getHeaderMap</a>() == CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#a5befe54dae3a4164118863623082d81b">getHeaderMap</a>();</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> </div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>         <span class="keywordflow">if</span> (isSame)</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>       }</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>       <span class="comment">// If the first dir in the search path is a non-system dir, zap it</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>       <span class="comment">// instead of the system one.</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>       <span class="keywordflow">if</span> (SearchList[FirstDir].getDirCharacteristic() == <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dab0548ddada8d87ad92e94d67e5af0a4f">SrcMgr::C_User</a>)</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>         DirToRemove = FirstDir;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>     }</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>     <span class="keywordflow">if</span> (Verbose) {</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>       llvm::errs() << <span class="stringliteral">"ignoring duplicate directory \""</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>                    << CurEntry.<a class="code" href="classclang_1_1DirectoryLookup.html#aace48a9e20ad49b0593de5f820381ce5">getName</a>() << <span class="stringliteral">"\"\n"</span>;</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>       <span class="keywordflow">if</span> (DirToRemove != i)</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>         llvm::errs() << <span class="stringliteral">"  as it is a non-system directory that duplicates "</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>                      << <span class="stringliteral">"a system directory\n"</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">if</span> (DirToRemove != i)</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>       ++NonSystemRemoved;</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> </div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     <span class="comment">// This is reached if the current entry is a duplicate.  Remove the</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>     <span class="comment">// DirToRemove (usually the current dir).</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>     SearchList.erase(SearchList.begin()+DirToRemove);</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>     --i;</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>   }</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>   <span class="keywordflow">return</span> NonSystemRemoved;</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span> }</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> </div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span> </div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span> <span class="keywordtype">void</span> InitHeaderSearch::Realize(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang) {</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   <span class="comment">// Concatenate ANGLE+SYSTEM+AFTER chains together into SearchList.</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>   std::vector<DirectoryLookup> SearchList;</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>   SearchList.reserve(IncludePath.size());</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span> </div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>   <span class="comment">// Quoted arguments go first.</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>   <span class="keywordflow">for</span> (path_iterator it = IncludePath.begin(), ie = IncludePath.end();</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>        it != ie; ++it) {</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>     <span class="keywordflow">if</span> (it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aabe59df1a2dfe245f9dcfb2fc5516ad57" title="'#include ""' paths, added by 'gcc -iquote'.">Quoted</a>)</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>       SearchList.push_back(it->second);</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>   }</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <span class="comment">// Deduplicate and remember index.</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>   <a class="code" href="InitHeaderSearch_8cpp.html#ae10b17574b8c95427e93b015bfe58f86">RemoveDuplicates</a>(SearchList, 0, Verbose);</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   <span class="keywordtype">unsigned</span> NumQuoted = SearchList.size();</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="keywordflow">for</span> (path_iterator it = IncludePath.begin(), ie = IncludePath.end();</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>        it != ie; ++it) {</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>     <span class="keywordflow">if</span> (it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa18303c35ec8f80fe77f3ff0d5e0d123f" title="Paths for '#include <>' added by '-I'.">Angled</a> || it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aae74586d678e9b375a845823cc7ec20cc">IndexHeaderMap</a>)</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>       SearchList.push_back(it->second);</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>   }</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span> </div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   <a class="code" href="InitHeaderSearch_8cpp.html#ae10b17574b8c95427e93b015bfe58f86">RemoveDuplicates</a>(SearchList, NumQuoted, Verbose);</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>   <span class="keywordtype">unsigned</span> NumAngled = SearchList.size();</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> </div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>   <span class="keywordflow">for</span> (path_iterator it = IncludePath.begin(), ie = IncludePath.end();</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>        it != ie; ++it) {</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>     <span class="keywordflow">if</span> (it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa7ab4b46f5b11d87091cd7b67402da1ea" title="building frameworks.">System</a> || it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aac3871ca76b28c20ad0fed2b450a10025">ExternCSystem</a> ||</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>         (!Lang.ObjC1 && !Lang.CPlusPlus && it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa25ce4dfbbc76e13bee75700048bd6386" title="Like System, but only used for C.">CSystem</a>)    ||</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>         (<span class="comment">/*FIXME !Lang.ObjC1 && */</span>Lang.CPlusPlus  && it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aa1818044ff45a4f5799bdea1372c57edd" title="Like System, but only used for C++.">CXXSystem</a>)  ||</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>         (Lang.ObjC1  && !Lang.CPlusPlus && it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aad8ae01da6e74473aec4f3503a293b8f3" title="Like System, but only used for ObjC.">ObjCSystem</a>) ||</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>         (Lang.ObjC1  && Lang.CPlusPlus  && it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aaf1e7a3bffd6687e28703345aefc52e99" title="Like System, but only used for ObjC++.">ObjCXXSystem</a>))</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>       SearchList.push_back(it->second);</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> </div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>   <span class="keywordflow">for</span> (path_iterator it = IncludePath.begin(), ie = IncludePath.end();</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>        it != ie; ++it) {</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>     <span class="keywordflow">if</span> (it->first == <a class="code" href="namespaceclang_1_1frontend.html#add3c3955b811cfaec91d27507d77063aaf30f2edbc8421eedc452b2e20537e96c" title="Like System, but searched after the system directories.">After</a>)</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>       SearchList.push_back(it->second);</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   }</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> </div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>   <span class="comment">// Remove duplicates across both the Angled and System directories.  GCC does</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>   <span class="comment">// this and failing to remove duplicates across these two groups breaks</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>   <span class="comment">// #include_next.</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>   <span class="keywordtype">unsigned</span> NonSystemRemoved = <a class="code" href="InitHeaderSearch_8cpp.html#ae10b17574b8c95427e93b015bfe58f86">RemoveDuplicates</a>(SearchList, NumQuoted, Verbose);</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   NumAngled -= NonSystemRemoved;</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="keywordtype">bool</span> DontSearchCurDir = <span class="keyword">false</span>;  <span class="comment">// TODO: set to true if -I- is set?</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   Headers.SetSearchPaths(SearchList, NumQuoted, NumAngled, DontSearchCurDir);</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> </div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>   Headers.SetSystemHeaderPrefixes(SystemHeaderPrefixes);</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span> </div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>   <span class="comment">// If verbose, print the list of directories that will be searched.</span></div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>   <span class="keywordflow">if</span> (Verbose) {</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>     llvm::errs() << <span class="stringliteral">"#include \"...\" search starts here:\n"</span>;</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = SearchList.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>       <span class="keywordflow">if</span> (i == NumQuoted)</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>         llvm::errs() << <span class="stringliteral">"#include <...> search starts here:\n"</span>;</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *Name = SearchList[i].getName();</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *Suffix;</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>       <span class="keywordflow">if</span> (SearchList[i].isNormalDir())</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>         Suffix = <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SearchList[i].isFramework())</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>         Suffix = <span class="stringliteral">" (framework directory)"</span>;</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>       <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>         assert(SearchList[i].isHeaderMap() && <span class="stringliteral">"Unknown DirectoryLookup"</span>);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>         Suffix = <span class="stringliteral">" (headermap)"</span>;</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>       }</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>       llvm::errs() << <span class="stringliteral">" "</span> << Name << Suffix << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>     }</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>     llvm::errs() << <span class="stringliteral">"End of search list.\n"</span>;</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>   }</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span> }</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span> </div>
+<div class="line"><a name="l00674"></a><span class="lineno"><a class="code" href="namespaceclang.html#a3b2a0da8e3a92086fd40120ffe9de6a6">  674</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#a3b2a0da8e3a92086fd40120ffe9de6a6" title="Apply the header search options to get given HeaderSearch object.">clang::ApplyHeaderSearchOptions</a>(<a class="code" href="classclang_1_1HeaderSearch.html" title="Encapsulates the information needed to find the file referenced by a #include or #include_next, (sub-)framework lookup, etc.">HeaderSearch</a> &HS,</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts,</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang,</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>                                      <span class="keyword">const</span> llvm::Triple &Triple) {</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>   InitHeaderSearch Init(HS, HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a0d5fa11981326cf2420f09932cedfb4a" title="Whether header search information should be output as for -v.">Verbose</a>, HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a7b2c49429c3e24836a745727bd14dfbb">Sysroot</a>);</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span> </div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   <span class="comment">// Add the user defined entries.</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac2921b3f83d750de31ce2dbf7aa62c9c" title="User specified include entries.">UserEntries</a>.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html">HeaderSearchOptions::Entry</a> &E = HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac2921b3f83d750de31ce2dbf7aa62c9c" title="User specified include entries.">UserEntries</a>[i];</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>     <span class="keywordflow">if</span> (E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#aca2c90ab43e0ea8786f0fb7b5c03b166">IgnoreSysRoot</a>) {</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>       Init.AddUnmappedPath(E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#a288b55e3fcc00ead4f5a98e5993a792b">Path</a>, E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#a15fac189b02d8e6498f5ca42acc025a3">Group</a>, E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#a9c22b253b2d1671ec495aa86faee1085">IsFramework</a>);</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>       Init.AddPath(E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#a288b55e3fcc00ead4f5a98e5993a792b">Path</a>, E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#a15fac189b02d8e6498f5ca42acc025a3">Group</a>, E.<a class="code" href="structclang_1_1HeaderSearchOptions_1_1Entry.html#a9c22b253b2d1671ec495aa86faee1085">IsFramework</a>);</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>     }</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   }</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span> </div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   Init.AddDefaultIncludePaths(Lang, Triple, HSOpts);</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span> </div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a5245b2e519d69e1e3c93eae9aab82cb9" title="User-specified system header prefixes.">SystemHeaderPrefixes</a>.size(); i != e; ++i)</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>     Init.AddSystemHeaderPrefix(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a5245b2e519d69e1e3c93eae9aab82cb9" title="User-specified system header prefixes.">SystemHeaderPrefixes</a>[i].Prefix,</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>                                HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a5245b2e519d69e1e3c93eae9aab82cb9" title="User-specified system header prefixes.">SystemHeaderPrefixes</a>[i].IsSystemHeader);</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span> </div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   <span class="keywordflow">if</span> (HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a9728d4297286c77fd6d306eda1d3aade" title="Include the compiler builtin includes.">UseBuiltinIncludes</a>) {</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     <span class="comment">// Set up the builtin include directory in the module map.</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> P = StringRef(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ac3915152e45f4ff70c81bd8f48947006">ResourceDir</a>);</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>     llvm::sys::path::append(P, <span class="stringliteral">"include"</span>);</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1DirectoryEntry.html" title="Cached information about one directory (either on disk or in the virtual file system).">DirectoryEntry</a> *Dir = HS.<a class="code" href="classclang_1_1HeaderSearch.html#a835b49793639b408e983c0c31fbe48c4">getFileMgr</a>().<a class="code" href="classclang_1_1FileManager.html#a6af5df3554d6faa096998a2dd00510fc" title="Lookup, cache, and verify the specified directory (real or virtual).">getDirectory</a>(P.str()))</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>       HS.<a class="code" href="classclang_1_1HeaderSearch.html#ae56afbc5eac06aa39ed7c49a5d6dd717" title="Retrieve the module map.">getModuleMap</a>().<a class="code" href="classclang_1_1ModuleMap.html#a6c624a7392febb43c7bb1a19e835ab34" title="Set the directory that contains Clang-supplied include files, such as our stdarg.h or tgmath...">setBuiltinIncludeDir</a>(Dir);</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>   }</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span> </div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>   Init.Realize(Lang);</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InitHeaderSearch_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitHeaderSearch_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitHeaderSearch_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitHeaderSearch_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,283 @@
+<!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: InitHeaderSearch.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_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_d028e0ee810452766990d0b974c930cc.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InitHeaderSearch.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InitHeaderSearch_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/Frontend/Release+Asserts/InitHeaderSearch.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/InitHeaderSearch.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  InitHeaderSearch.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/Casting.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/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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/tools/clang/lib/Frontend/../../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="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Config/config.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearch.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/ADT/StringExtras.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h:</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</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> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Config/config.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearch.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.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/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.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/include/llvm/ADT/StringSet.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/ADT/StringExtras.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/Path.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/raw_ostream.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InitPreprocessor_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitPreprocessor_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitPreprocessor_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitPreprocessor_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,967 @@
+<!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: InitPreprocessor.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_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InitPreprocessor.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InitPreprocessor_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">//===--- InitPreprocessor.cpp - PP initialization code. ---------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This file implements the clang::InitializePreprocessor function.</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="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="MacroBuilder_8h.html" title="Defines the clang::MacroBuilder utility class.">clang/Basic/MacroBuilder.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="include_2clang_2Basic_2TargetInfo_8h.html" title="Defines the clang::TargetInfo interface.">clang/Basic/TargetInfo.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="Version_8h.html" title="Defines version macros and version-related utility functions for Clang.">clang/Basic/Version.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="FrontendDiagnostic_8h.html">clang/Frontend/FrontendDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="FrontendOptions_8h.html">clang/Frontend/FrontendOptions.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="HeaderSearch_8h.html">clang/Lex/HeaderSearch.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "<a class="code" href="PreprocessorOptions_8h.html">clang/Lex/PreprocessorOptions.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "<a class="code" href="ASTReader_8h.html">clang/Serialization/ASTReader.h</a>"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/ADT/APFloat.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "llvm/Support/MemoryBuffer.h"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">using namespace </span>clang;</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="InitPreprocessor_8cpp.html#a1b6d64f47aac6d4a42a5ada614ed35a1">   32</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="InitPreprocessor_8cpp.html#a1b6d64f47aac6d4a42a5ada614ed35a1">MacroBodyEndsInBackslash</a>(StringRef MacroBody) {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="keywordflow">while</span> (!MacroBody.empty() && <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MacroBody.back()))</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>     MacroBody = MacroBody.drop_back();</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keywordflow">return</span> !MacroBody.empty() && MacroBody.back() == <span class="charliteral">'\\'</span>;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> }</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment">// Append a #define line to Buf for Macro.  Macro should be of the form XXX,</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment">// in which case we emit "#define XXX 1" or "XXX=Y z W" in which case we emit</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">// "#define XXX Y z W".  To get a #define with no value, use "XXX=".</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#ace35cbb4d01338aa6fa123e734386ac1">   41</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#ace35cbb4d01338aa6fa123e734386ac1">DefineBuiltinMacro</a>(<a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>, StringRef Macro,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>                                <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diags) {</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   std::pair<StringRef, StringRef> MacroPair = Macro.split(<span class="charliteral">'='</span>);</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   StringRef MacroName = MacroPair.first;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   StringRef MacroBody = MacroPair.second;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keywordflow">if</span> (MacroName.size() != Macro.size()) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <span class="comment">// Per GCC -D semantics, the macro ends at \n if it exists.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     StringRef::size_type End = MacroBody.find_first_of(<span class="stringliteral">"\n\r"</span>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>     <span class="keywordflow">if</span> (End != StringRef::npos)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>       Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::warn_fe_macro_contains_embedded_newline)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>         << MacroName;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     MacroBody = MacroBody.substr(0, End);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>     <span class="comment">// We handle macro bodies which end in a backslash by appending an extra</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>     <span class="comment">// backslash+newline.  This makes sure we don't accidentally treat the</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="comment">// backslash as a line continuation marker.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     <span class="keywordflow">if</span> (<a class="code" href="InitPreprocessor_8cpp.html#a1b6d64f47aac6d4a42a5ada614ed35a1">MacroBodyEndsInBackslash</a>(MacroBody))</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(MacroName, Twine(MacroBody) + <span class="stringliteral">"\\\n"</span>);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(MacroName, MacroBody);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     <span class="comment">// Push "macroname 1".</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(Macro);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> }</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment"></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">/// AddImplicitInclude - Add an implicit \#include of the specified file to the</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment">/// predefines buffer.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a1b58a7e8a4d0787c10ea903280fa1788">   68</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a1b58a7e8a4d0787c10ea903280fa1788">AddImplicitInclude</a>(<a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>, StringRef File,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>                                <a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> &FileMgr) {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(Twine(<span class="stringliteral">"#include \""</span>) +</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>                  <a class="code" href="classclang_1_1HeaderSearch.html#af3794c0df592e387248a7a96d81274a2" title="Helper static function to normalize a path for injection into a synthetic header.">HeaderSearch::NormalizeDashIncludePath</a>(File, FileMgr) + <span class="stringliteral">"\""</span>);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a76669f8e6dd78f8a79ac9d782b4599ab">   74</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a76669f8e6dd78f8a79ac9d782b4599ab">AddImplicitIncludeMacros</a>(<a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>                                      StringRef File,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                                      <a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> &FileMgr) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(Twine(<span class="stringliteral">"#__include_macros \""</span>) +</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                  <a class="code" href="classclang_1_1HeaderSearch.html#af3794c0df592e387248a7a96d81274a2" title="Helper static function to normalize a path for injection into a synthetic header.">HeaderSearch::NormalizeDashIncludePath</a>(File, FileMgr) + <span class="stringliteral">"\""</span>);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   <span class="comment">// Marker token to stop the __include_macros fetch loop.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(<span class="stringliteral">"##"</span>); <span class="comment">// ##?</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">/// AddImplicitIncludePTH - Add an implicit \#include using the original file</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">/// used to generate a PTH cache.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a79c3f6de54c9015b523895b3ccb9eb6c">   85</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a79c3f6de54c9015b523895b3ccb9eb6c">AddImplicitIncludePTH</a>(<a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>, <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>                                   StringRef ImplicitIncludePTH) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <a class="code" href="classclang_1_1PTHManager.html">PTHManager</a> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = PP.<a class="code" href="classclang_1_1Preprocessor.html#a24fb05dde0851a11040ca7a9196b7c26">getPTHManager</a>();</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   <span class="comment">// Null check 'P' in the corner case where it couldn't be created.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *OriginalFile = P ? P-><a class="code" href="classclang_1_1PTHManager.html#a51c4892eaf5cbab904c096d45443ffae">getOriginalSourceFile</a>() : 0;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="keywordflow">if</span> (!OriginalFile) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     PP.<a class="code" href="classclang_1_1Preprocessor.html#a663f9d8c8151906a9bf39954f3d15c60">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_pth_file_has_no_source_header)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>       << ImplicitIncludePTH;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   }</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1b58a7e8a4d0787c10ea903280fa1788">AddImplicitInclude</a>(Builder, OriginalFile, PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>());</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> }</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">/// \brief Add an implicit \#include using the original file used to generate</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">/// a PCH file.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#adfa36d56eab3847efca1b6fbb678c4b1">  102</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#adfa36d56eab3847efca1b6fbb678c4b1" title="Add an implicit #include using the original file used to generate a PCH file.">AddImplicitIncludePCH</a>(<a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>, <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>                                   StringRef ImplicitIncludePCH) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   std::string OriginalFile =</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>     <a class="code" href="classclang_1_1ASTReader.html#a9e432550deca2299b965facd32fd00f0" title="Retrieve the name of the original source file name for the primary module file.">ASTReader::getOriginalSourceFile</a>(ImplicitIncludePCH, PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>(),</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>                                      PP.<a class="code" href="classclang_1_1Preprocessor.html#a663f9d8c8151906a9bf39954f3d15c60">getDiagnostics</a>());</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   <span class="keywordflow">if</span> (OriginalFile.empty())</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1b58a7e8a4d0787c10ea903280fa1788">AddImplicitInclude</a>(Builder, OriginalFile, PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</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> <span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">/// PickFP - This is used to pick a value based on the FP semantics of the</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment">/// specified FP model.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">  116</a></span> <span class="keyword">static</span> T <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(<span class="keyword">const</span> llvm::fltSemantics *Sem, T IEEESingleVal,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                 T IEEEDoubleVal, T X87DoubleExtendedVal, T PPCDoubleDoubleVal,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>                 T IEEEQuadVal) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   <span class="keywordflow">if</span> (Sem == (<span class="keyword">const</span> llvm::fltSemantics*)&llvm::APFloat::IEEEsingle)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     <span class="keywordflow">return</span> IEEESingleVal;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <span class="keywordflow">if</span> (Sem == (<span class="keyword">const</span> llvm::fltSemantics*)&llvm::APFloat::IEEEdouble)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>     <span class="keywordflow">return</span> IEEEDoubleVal;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="keywordflow">if</span> (Sem == (<span class="keyword">const</span> llvm::fltSemantics*)&llvm::APFloat::x87DoubleExtended)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     <span class="keywordflow">return</span> X87DoubleExtendedVal;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   <span class="keywordflow">if</span> (Sem == (<span class="keyword">const</span> llvm::fltSemantics*)&llvm::APFloat::PPCDoubleDouble)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     <span class="keywordflow">return</span> PPCDoubleDoubleVal;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   assert(Sem == (<span class="keyword">const</span> llvm::fltSemantics*)&llvm::APFloat::IEEEquad);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="keywordflow">return</span> IEEEQuadVal;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> }</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a33024bf7d866365a54ab36f3b628447c">  131</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a33024bf7d866365a54ab36f3b628447c">DefineFloatMacros</a>(<a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>, StringRef Prefix,</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>                               <span class="keyword">const</span> llvm::fltSemantics *Sem, StringRef Ext) {</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *DenormMin, *Epsilon, *Max, *Min;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   DenormMin = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, <span class="stringliteral">"1.40129846e-45"</span>, <span class="stringliteral">"4.9406564584124654e-324"</span>,</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>                      <span class="stringliteral">"3.64519953188247460253e-4951"</span>,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>                      <span class="stringliteral">"4.94065645841246544176568792868221e-324"</span>,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>                      <span class="stringliteral">"6.47517511943802511092443895822764655e-4966"</span>);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   <span class="keywordtype">int</span> Digits = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, 6, 15, 18, 31, 33);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   Epsilon = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, <span class="stringliteral">"1.19209290e-7"</span>, <span class="stringliteral">"2.2204460492503131e-16"</span>,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>                    <span class="stringliteral">"1.08420217248550443401e-19"</span>,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                    <span class="stringliteral">"4.94065645841246544176568792868221e-324"</span>,</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>                    <span class="stringliteral">"1.92592994438723585305597794258492732e-34"</span>);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>   <span class="keywordtype">int</span> MantissaDigits = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, 24, 53, 64, 106, 113);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   <span class="keywordtype">int</span> Min10Exp = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, -37, -307, -4931, -291, -4931);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <span class="keywordtype">int</span> Max10Exp = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, 38, 308, 4932, 308, 4932);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   <span class="keywordtype">int</span> MinExp = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, -125, -1021, -16381, -968, -16381);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   <span class="keywordtype">int</span> MaxExp = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, 128, 1024, 16384, 1024, 16384);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   Min = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, <span class="stringliteral">"1.17549435e-38"</span>, <span class="stringliteral">"2.2250738585072014e-308"</span>,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>                <span class="stringliteral">"3.36210314311209350626e-4932"</span>,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>                <span class="stringliteral">"2.00416836000897277799610805135016e-292"</span>,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>                <span class="stringliteral">"3.36210314311209350626267781732175260e-4932"</span>);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   Max = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(Sem, <span class="stringliteral">"3.40282347e+38"</span>, <span class="stringliteral">"1.7976931348623157e+308"</span>,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                <span class="stringliteral">"1.18973149535723176502e+4932"</span>,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                <span class="stringliteral">"1.79769313486231580793728971405301e+308"</span>,</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>                <span class="stringliteral">"1.18973149535723176508575932662800702e+4932"</span>);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<32></a> DefPrefix;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   DefPrefix = <span class="stringliteral">"__"</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>   DefPrefix += Prefix;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   DefPrefix += <span class="stringliteral">"_"</span>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"DENORM_MIN__"</span>, Twine(DenormMin)+Ext);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"HAS_DENORM__"</span>);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"DIG__"</span>, Twine(Digits));</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"EPSILON__"</span>, Twine(Epsilon)+Ext);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"HAS_INFINITY__"</span>);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"HAS_QUIET_NAN__"</span>);</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MANT_DIG__"</span>, Twine(MantissaDigits));</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>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MAX_10_EXP__"</span>, Twine(Max10Exp));</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MAX_EXP__"</span>, Twine(MaxExp));</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MAX__"</span>, Twine(Max)+Ext);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MIN_10_EXP__"</span>,<span class="stringliteral">"("</span>+Twine(Min10Exp)+<span class="stringliteral">")"</span>);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MIN_EXP__"</span>, <span class="stringliteral">"("</span>+Twine(MinExp)+<span class="stringliteral">")"</span>);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(DefPrefix + <span class="stringliteral">"MIN__"</span>, Twine(Min)+Ext);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> }</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">/// DefineTypeSize - Emit a macro to the predefines buffer that declares a macro</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment">/// named MacroName with the max value for a type with width 'TypeWidth' a</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment">/// signedness of 'isSigned' and with a value suffix of 'ValSuffix' (e.g. LL).</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">  183</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(StringRef MacroName, <span class="keywordtype">unsigned</span> TypeWidth,</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>                            StringRef ValSuffix, <span class="keywordtype">bool</span> isSigned,</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>                            <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   llvm::APInt MaxVal = isSigned ? llvm::APInt::getSignedMaxValue(TypeWidth)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>                                 : llvm::APInt::getMaxValue(TypeWidth);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(MacroName, MaxVal.toString(10, isSigned) + ValSuffix);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> }</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> <span class="comment"></span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> <span class="comment">/// DefineTypeSize - An overloaded helper that uses TargetInfo to determine</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> <span class="comment">/// the width, suffix, and signedness of the given type</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a8e306ce291ab9d2e3627fdaf0ffdf65f">  193</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(StringRef MacroName, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1f" title="===-— Target Data Type Query Methods ----------------------------—===//">TargetInfo::IntType</a> Ty,</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>                            <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &TI, <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(MacroName, TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(Ty), TI.<a class="code" href="classclang_1_1TargetInfo.html#abc866bd0244a791267476fff92fecda4" title="Return the constant suffix for the specified integer type enum.">getTypeConstantSuffix</a>(Ty), </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>                  TI.<a class="code" href="classclang_1_1TargetInfo.html#a46470ac21932c1aa0ed4f077faf4e1dd" title="Returns true if the type is signed; false otherwise.">isTypeSigned</a>(Ty), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> }</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">  199</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="keyword">const</span> Twine &MacroName, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1f" title="===-— Target Data Type Query Methods ----------------------------—===//">TargetInfo::IntType</a> Ty,</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>                        <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(MacroName, <a class="code" href="classclang_1_1TargetInfo.html#a89a8bc590e5ab67bdf81b96cf259eefd" title="Return the user string for the specified integer type enum.">TargetInfo::getTypeName</a>(Ty));</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> </div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">  204</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(StringRef MacroName, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1f" title="===-— Target Data Type Query Methods ----------------------------—===//">TargetInfo::IntType</a> Ty,</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>                             <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &TI, <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(MacroName, Twine(TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(Ty)));</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> }</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">  209</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(StringRef MacroName, <span class="keywordtype">unsigned</span> BitWidth,</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>                              <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &TI, <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(MacroName,</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>                       Twine(BitWidth / TI.<a class="code" href="classclang_1_1TargetInfo.html#a4e2ac19ae48b353248e7e15754283c8d">getCharWidth</a>()));</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> }</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a3f25aab17ebdbeb9748bef314fecea14">  215</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a3f25aab17ebdbeb9748bef314fecea14">DefineExactWidthIntType</a>(<a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1f" title="===-— Target Data Type Query Methods ----------------------------—===//">TargetInfo::IntType</a> Ty, </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &TI, <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <span class="keywordtype">int</span> TypeWidth = TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(Ty);</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <span class="comment">// Use the target specified int64 type, when appropriate, so that [u]int64_t</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   <span class="comment">// ends up being defined in terms of the correct type.</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   <span class="keywordflow">if</span> (TypeWidth == 64)</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>     Ty = TI.<a class="code" href="classclang_1_1TargetInfo.html#a3c7552c848ea49d02596fb0d0d61cab7">getInt64Type</a>();</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>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__INT"</span> + Twine(TypeWidth) + <span class="stringliteral">"_TYPE__"</span>, Ty, Builder);</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>   StringRef ConstSuffix(<a class="code" href="classclang_1_1TargetInfo.html#abc866bd0244a791267476fff92fecda4" title="Return the constant suffix for the specified integer type enum.">TargetInfo::getTypeConstantSuffix</a>(Ty));</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="keywordflow">if</span> (!ConstSuffix.empty())</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__INT"</span> + Twine(TypeWidth) + <span class="stringliteral">"_C_SUFFIX__"</span>,</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>                         ConstSuffix);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> }</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="comment"></span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="comment">/// Get the value the ATOMIC_*_LOCK_FREE macro should have for a type with</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment">/// the specified properties.</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a4ca20d82dd01b30f1243d865b188b9df">  234</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="InitPreprocessor_8cpp.html#a4ca20d82dd01b30f1243d865b188b9df">getLockFreeValue</a>(<span class="keywordtype">unsigned</span> TypeWidth, <span class="keywordtype">unsigned</span> TypeAlign,</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>                                     <span class="keywordtype">unsigned</span> InlineWidth) {</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <span class="comment">// Fully-aligned, power-of-2 sizes no larger than the inline</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   <span class="comment">// width will be inlined as lock-free operations.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>   <span class="keywordflow">if</span> (TypeWidth == TypeAlign && (TypeWidth & (TypeWidth - 1)) == 0 &&</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>       TypeWidth <= InlineWidth)</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>     <span class="keywordflow">return</span> <span class="stringliteral">"2"</span>; <span class="comment">// "always lock free"</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   <span class="comment">// We cannot be certain what operations the lib calls might be</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   <span class="comment">// able to implement as lock-free on future processors.</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <span class="keywordflow">return</span> <span class="stringliteral">"1"</span>; <span class="comment">// "sometimes lock free"</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> }</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> <span class="comment"></span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> <span class="comment">/// \brief Add definitions required for a smooth interaction between</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="comment">/// Objective-C++ automated reference counting and libstdc++ (4.2).</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a72fd5e2bd99be04ee85b2c00966da196">  248</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a72fd5e2bd99be04ee85b2c00966da196" title="Add definitions required for a smooth interaction between Objective-C++ automated reference counting ...">AddObjCXXARCLibstdcxxDefines</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts, </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>                                          <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"_GLIBCXX_PREDEFINED_OBJC_ARC_IS_SCALAR"</span>);</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   std::string Result;</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">// Provide specializations for the __is_scalar type trait so that </span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="comment">// lifetime-qualified objects are not considered "scalar" types, which</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="comment">// libstdc++ uses as an indicator of the presence of trivial copy, assign,</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <span class="comment">// default-construct, and destruct semantics (none of which hold for</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="comment">// lifetime-qualified objects in ARC).</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     llvm::raw_string_ostream Out(Result);</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>     Out << <span class="stringliteral">"namespace std {\n"</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>         << <span class="stringliteral">"\n"</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>         << <span class="stringliteral">"struct __true_type;\n"</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>         << <span class="stringliteral">"struct __false_type;\n"</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>         << <span class="stringliteral">"\n"</span>;</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>     Out << <span class="stringliteral">"template<typename _Tp> struct __is_scalar;\n"</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>         << <span class="stringliteral">"\n"</span>;</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>     Out << <span class="stringliteral">"template<typename _Tp>\n"</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>         << <span class="stringliteral">"struct __is_scalar<__attribute__((objc_ownership(strong))) _Tp> {\n"</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>         << <span class="stringliteral">"  enum { __value = 0 };\n"</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>         << <span class="stringliteral">"  typedef __false_type __type;\n"</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>         << <span class="stringliteral">"};\n"</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>         << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>       </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     <span class="keywordflow">if</span> (LangOpts.ObjCARCWeak) {</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>       Out << <span class="stringliteral">"template<typename _Tp>\n"</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>           << <span class="stringliteral">"struct __is_scalar<__attribute__((objc_ownership(weak))) _Tp> {\n"</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>           << <span class="stringliteral">"  enum { __value = 0 };\n"</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>           << <span class="stringliteral">"  typedef __false_type __type;\n"</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>           << <span class="stringliteral">"};\n"</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>           << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     }</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     Out << <span class="stringliteral">"template<typename _Tp>\n"</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>         << <span class="stringliteral">"struct __is_scalar<__attribute__((objc_ownership(autoreleasing)))"</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>         << <span class="stringliteral">" _Tp> {\n"</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>         << <span class="stringliteral">"  enum { __value = 0 };\n"</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>         << <span class="stringliteral">"  typedef __false_type __type;\n"</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>         << <span class="stringliteral">"};\n"</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>         << <span class="stringliteral">"\n"</span>;</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>     Out << <span class="stringliteral">"}\n"</span>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   }</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(Result);</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> </div>
+<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#ad4586206f87783141063ab80478933e0">  299</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#ad4586206f87783141063ab80478933e0">InitializeStandardPredefinedMacros</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &TI,</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>                                                <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts,</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>                                                <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts,</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>                                                <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>   <span class="keywordflow">if</span> (!LangOpts.MicrosoftMode && !LangOpts.TraditionalCPP)</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC__"</span>);</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <span class="keywordflow">if</span> (LangOpts.Freestanding)</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_HOSTED__"</span>, <span class="stringliteral">"0"</span>);</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_HOSTED__"</span>);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   <span class="keywordflow">if</span> (!LangOpts.CPlusPlus) {</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>     <span class="keywordflow">if</span> (LangOpts.C11)</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_VERSION__"</span>, <span class="stringliteral">"201112L"</span>);</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (LangOpts.C99)</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_VERSION__"</span>, <span class="stringliteral">"199901L"</span>);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!LangOpts.GNUMode && LangOpts.Digraphs)</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_VERSION__"</span>, <span class="stringliteral">"199409L"</span>);</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>     <span class="comment">// FIXME: Use the right value for __cplusplus for C++1y once one is chosen.</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>     <span class="keywordflow">if</span> (LangOpts.CPlusPlus1y)</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cplusplus"</span>, <span class="stringliteral">"201305L"</span>);</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>     <span class="comment">// C++11 [cpp.predefined]p1:</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>     <span class="comment">//   The name __cplusplus is defined to the value 201103L when compiling a</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     <span class="comment">//   C++ translation unit.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (LangOpts.CPlusPlus11)</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cplusplus"</span>, <span class="stringliteral">"201103L"</span>);</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>     <span class="comment">// C++03 [cpp.predefined]p1:</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>     <span class="comment">//   The name __cplusplus is defined to the value 199711L when compiling a</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     <span class="comment">//   C++ translation unit.</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cplusplus"</span>, <span class="stringliteral">"199711L"</span>);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   }</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="comment">// In C11 these are environment macros. In C++11 they are only defined</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>   <span class="comment">// as part of <cuchar>. To prevent breakage when mixing C and C++</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>   <span class="comment">// code, define these macros unconditionally. We can define them</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="comment">// unconditionally, as Clang always uses UTF-16 and UTF-32 for 16-bit</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="comment">// and 32-bit character literals.</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_UTF_16__"</span>, <span class="stringliteral">"1"</span>);</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STDC_UTF_32__"</span>, <span class="stringliteral">"1"</span>);</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>   <span class="keywordflow">if</span> (LangOpts.ObjC1)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__OBJC__"</span>);</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>   <span class="comment">// Not "standard" per se, but available even with the -undef flag.</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   <span class="keywordflow">if</span> (LangOpts.AsmPreprocessor)</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ASSEMBLER__"</span>);</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> }</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> <span class="comment"></span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> <span class="comment">/// Initialize the predefined C++ language feature test macros defined in</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> <span class="comment">/// ISO/IEC JTC1/SC22/WG21 (C++) SD-6: "SG10 Feature Test Recommendations".</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#aaa2ff8c9db893f6926618096a0660f57">  351</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#aaa2ff8c9db893f6926618096a0660f57">InitializeCPlusPlusFeatureTestMacros</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts,</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>                                                  <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   <span class="comment">// C++11 features.</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   <span class="keywordflow">if</span> (LangOpts.CPlusPlus11) {</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_unicode_characters"</span>, <span class="stringliteral">"200704"</span>);</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_raw_strings"</span>, <span class="stringliteral">"200710"</span>);</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_unicode_literals"</span>, <span class="stringliteral">"200710"</span>);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_user_defined_literals"</span>, <span class="stringliteral">"200809"</span>);</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_lambdas"</span>, <span class="stringliteral">"200907"</span>);</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_constexpr"</span>,</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>                         LangOpts.CPlusPlus1y ? <span class="stringliteral">"201304"</span> : <span class="stringliteral">"200704"</span>);</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_static_assert"</span>, <span class="stringliteral">"200410"</span>);</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_decltype"</span>, <span class="stringliteral">"200707"</span>);</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_attributes"</span>, <span class="stringliteral">"200809"</span>);</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_rvalue_references"</span>, <span class="stringliteral">"200610"</span>);</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_variadic_templates"</span>, <span class="stringliteral">"200704"</span>);</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   }</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   <span class="comment">// C++14 features.</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   <span class="keywordflow">if</span> (LangOpts.CPlusPlus1y) {</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_binary_literals"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_init_captures"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_generic_lambdas"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_decltype_auto"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_return_type_deduction"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_aggregate_nsdmi"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__cpp_variable_templates"</span>, <span class="stringliteral">"201304"</span>);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   }</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> }</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#a23bda333313d98900573fa2e1a981fa9">  381</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#a23bda333313d98900573fa2e1a981fa9">InitializePredefinedMacros</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &TI,</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts,</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts,</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>                                        <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>) {</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   <span class="comment">// Compiler version introspection macros.</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__llvm__"</span>);  <span class="comment">// LLVM Backend</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang__"</span>); <span class="comment">// Clang Frontend</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <span class="preprocessor">#define TOSTR2(X) #X</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="preprocessor"></span><span class="preprocessor">#define TOSTR(X) TOSTR2(X)</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="preprocessor"></span>  Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang_major__"</span>, <a class="code" href="InitPreprocessor_8cpp.html#a8f4e8cdb4e08b8447b4bd1f1ab34cfba">TOSTR</a>(CLANG_VERSION_MAJOR));</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang_minor__"</span>, <a class="code" href="InitPreprocessor_8cpp.html#a8f4e8cdb4e08b8447b4bd1f1ab34cfba">TOSTR</a>(CLANG_VERSION_MINOR));</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="preprocessor">#ifdef CLANG_VERSION_PATCHLEVEL</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> <span class="preprocessor"></span>  Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang_patchlevel__"</span>, <a class="code" href="InitPreprocessor_8cpp.html#a8f4e8cdb4e08b8447b4bd1f1ab34cfba">TOSTR</a>(CLANG_VERSION_PATCHLEVEL));</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> <span class="preprocessor"></span>  Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang_patchlevel__"</span>, <span class="stringliteral">"0"</span>);</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> <span class="preprocessor"></span>  Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang_version__"</span>, </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>                       <span class="stringliteral">"\""</span> <a class="code" href="Version_8h.html#a755da60753a95a776cc6a00f6c570fb7" title="A string that describes the Clang version number, e.g., "1.0".">CLANG_VERSION_STRING</a> <span class="stringliteral">" "</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>                       + <a class="code" href="namespaceclang.html#ad7362431b8742d66c944c9cd9d6c4b03" title="Retrieves the full repository version that is an amalgamation of the information in getClangRepositor...">getClangFullRepositoryVersion</a>() + <span class="stringliteral">"\""</span>);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> <span class="preprocessor">#undef TOSTR</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> <span class="preprocessor"></span><span class="preprocessor">#undef TOSTR2</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> <span class="preprocessor"></span>  <span class="keywordflow">if</span> (!LangOpts.MicrosoftMode) {</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>     <span class="comment">// Currently claim to be compatible with GCC 4.2.1-5621, but only if we're</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     <span class="comment">// not compiling for MSVC compatibility</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GNUC_MINOR__"</span>, <span class="stringliteral">"2"</span>);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GNUC_PATCHLEVEL__"</span>, <span class="stringliteral">"1"</span>);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GNUC__"</span>, <span class="stringliteral">"4"</span>);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GXX_ABI_VERSION"</span>, <span class="stringliteral">"1002"</span>);</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   }</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   <span class="comment">// Define macros for the C11 / C++11 memory orderings</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ATOMIC_RELAXED"</span>, <span class="stringliteral">"0"</span>);</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ATOMIC_CONSUME"</span>, <span class="stringliteral">"1"</span>);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ATOMIC_ACQUIRE"</span>, <span class="stringliteral">"2"</span>);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ATOMIC_RELEASE"</span>, <span class="stringliteral">"3"</span>);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ATOMIC_ACQ_REL"</span>, <span class="stringliteral">"4"</span>);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ATOMIC_SEQ_CST"</span>, <span class="stringliteral">"5"</span>);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   <span class="comment">// Support for #pragma redefine_extname (Sun compatibility)</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__PRAGMA_REDEFINE_EXTNAME"</span>, <span class="stringliteral">"1"</span>);</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>   <span class="comment">// As sad as it is, enough software depends on the __VERSION__ for version</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   <span class="comment">// checks that it is necessary to report 4.2.1 (the base GCC version we claim</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   <span class="comment">// compatibility with) first.</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__VERSION__"</span>, <span class="stringliteral">"\"4.2.1 Compatible "</span> + </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>                       Twine(<a class="code" href="namespaceclang.html#ade4aeb370dcde0cc5e7b3cf7f3588311" title="Retrieves a string representing the complete clang version suitable for use in the CPP VERSION macro...">getClangFullCPPVersion</a>()) + <span class="stringliteral">"\""</span>);</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   <span class="comment">// Initialize language-specific preprocessor defines.</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>   <span class="comment">// Standard conforming mode?</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keywordflow">if</span> (!LangOpts.GNUMode)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__STRICT_ANSI__"</span>);</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>   <span class="keywordflow">if</span> (LangOpts.CPlusPlus11)</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GXX_EXPERIMENTAL_CXX0X__"</span>);</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>   <span class="keywordflow">if</span> (LangOpts.ObjC1) {</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>     <span class="keywordflow">if</span> (LangOpts.<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#a5523ca4491b7915e32c02d98a491505e" title="Does this runtime follow the set of implied behaviors for a "non-fragile" ABI?">isNonFragile</a>()) {</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__OBJC2__"</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>       <span class="keywordflow">if</span> (LangOpts.ObjCExceptions)</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>         Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"OBJC_ZEROCOST_EXCEPTIONS"</span>);</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>     }</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>     <span class="keywordflow">if</span> (LangOpts.getGC() != <a class="code" href="classclang_1_1LangOptions.html#a01202ff51e7f9dbf39a447360d0a3a84ab62653320d5d7633c47854b73fe5d93d">LangOptions::NonGC</a>)</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__OBJC_GC__"</span>);</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="keywordflow">if</span> (LangOpts.<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#aceeccbbaac7a1c2a4434dc89cc96c0bd" title="Is this runtime basically of the NeXT family of runtimes?">isNeXTFamily</a>())</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__NEXT_RUNTIME__"</span>);</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     <span class="keywordflow">if</span> (LangOpts.<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#a46efae9a73b620f46708e58fa01ffce5">getKind</a>() == <a class="code" href="classclang_1_1ObjCRuntime.html#af19fe070a7073df4ecc666b44137c4e5aafc7b4e2467d7524e1c012dc5149cbfa" title="'objfw' is the Objective-C runtime included in ObjFW">ObjCRuntime::ObjFW</a>) {</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>       <a class="code" href="classclang_1_1VersionTuple.html" title="Represents a version number in the form major[.minor[.subminor]].">VersionTuple</a> tuple = LangOpts.<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#a53f4ff7559f005926e5c419ee0ce110e">getVersion</a>();</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>       <span class="keywordtype">unsigned</span> minor = 0;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>       <span class="keywordflow">if</span> (tuple.<a class="code" href="classclang_1_1VersionTuple.html#a9dc910afa4bc7d1177aea9af57f408a8" title="Retrieve the minor version number, if provided.">getMinor</a>().hasValue())</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>         minor = tuple.<a class="code" href="classclang_1_1VersionTuple.html#a9dc910afa4bc7d1177aea9af57f408a8" title="Retrieve the minor version number, if provided.">getMinor</a>().getValue();</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>       <span class="keywordtype">unsigned</span> subminor = 0;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>       <span class="keywordflow">if</span> (tuple.<a class="code" href="classclang_1_1VersionTuple.html#a94c49024937c25c6b1f6fed8b308da11" title="Retrieve the subminor version number, if provided.">getSubminor</a>().hasValue())</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>         subminor = tuple.<a class="code" href="classclang_1_1VersionTuple.html#a94c49024937c25c6b1f6fed8b308da11" title="Retrieve the subminor version number, if provided.">getSubminor</a>().getValue();</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>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__OBJFW_RUNTIME_ABI__"</span>,</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>                           Twine(tuple.<a class="code" href="classclang_1_1VersionTuple.html#ab9d17523d3a6080f1560323b541e32ea" title="Retrieve the major version number.">getMajor</a>() * 10000 + minor * 100 +</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>                                 subminor));</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> </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"IBOutlet"</span>, <span class="stringliteral">"__attribute__((iboutlet))"</span>);</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"IBOutletCollection(ClassName)"</span>,</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>                         <span class="stringliteral">"__attribute__((iboutletcollection(ClassName)))"</span>);</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"IBAction"</span>, <span class="stringliteral">"void)__attribute__((ibaction)"</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> </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   <span class="keywordflow">if</span> (LangOpts.CPlusPlus)</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>     <a class="code" href="InitPreprocessor_8cpp.html#aaa2ff8c9db893f6926618096a0660f57">InitializeCPlusPlusFeatureTestMacros</a>(LangOpts, Builder);</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>   <span class="comment">// darwin_constant_cfstrings controls this. This is also dependent</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <span class="comment">// on other things like the runtime I believe.  This is set even for C code.</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <span class="keywordflow">if</span> (!LangOpts.NoConstantCFStrings)</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__CONSTANT_CFSTRINGS__"</span>);</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="keywordflow">if</span> (LangOpts.ObjC2)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"OBJC_NEW_PROPERTIES"</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="keywordflow">if</span> (LangOpts.PascalStrings)</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__PASCAL_STRINGS__"</span>);</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   <span class="keywordflow">if</span> (LangOpts.Blocks) {</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__block"</span>, <span class="stringliteral">"__attribute__((__blocks__(byref)))"</span>);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__BLOCKS__"</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> </div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>   <span class="keywordflow">if</span> (LangOpts.CXXExceptions)</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__EXCEPTIONS"</span>);</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>   <span class="keywordflow">if</span> (LangOpts.RTTI)</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GXX_RTTI"</span>);</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>   <span class="keywordflow">if</span> (LangOpts.SjLjExceptions)</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__USING_SJLJ_EXCEPTIONS__"</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>   <span class="keywordflow">if</span> (LangOpts.Deprecated)</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__DEPRECATED"</span>);</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>   <span class="keywordflow">if</span> (LangOpts.CPlusPlus) {</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GNUG__"</span>, <span class="stringliteral">"4"</span>);</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GXX_WEAK__"</span>);</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__private_extern__"</span>, <span class="stringliteral">"extern"</span>);</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> </div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>   <span class="keywordflow">if</span> (LangOpts.MicrosoftExt) {</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>     <span class="comment">// Both __PRETTY_FUNCTION__ and __FUNCTION__ are GCC extensions, however</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>     <span class="comment">// VC++ appears to only like __FUNCTION__.</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__PRETTY_FUNCTION__"</span>, <span class="stringliteral">"__FUNCTION__"</span>);</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>     <span class="comment">// Work around some issues with Visual C++ headers.</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>     <span class="keywordflow">if</span> (LangOpts.WChar) {</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>       <span class="comment">// wchar_t supported as a keyword.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"_WCHAR_T_DEFINED"</span>);</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"_NATIVE_WCHAR_T_DEFINED"</span>);</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>     }</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>     <span class="keywordflow">if</span> (LangOpts.CPlusPlus) {</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>       <span class="comment">// FIXME: Support Microsoft's __identifier extension in the lexer.</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(<span class="stringliteral">"#define __identifier(x) x"</span>);</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(<span class="stringliteral">"class type_info;"</span>);</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>     }</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   }</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> </div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="keywordflow">if</span> (LangOpts.Optimize)</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__OPTIMIZE__"</span>);</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>   <span class="keywordflow">if</span> (LangOpts.OptimizeSize)</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__OPTIMIZE_SIZE__"</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="keywordflow">if</span> (LangOpts.FastMath)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__FAST_MATH__"</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">// Initialize target-specific preprocessor defines.</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> </div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>   <span class="comment">// __BYTE_ORDER__ was added in GCC 4.6. It's analogous</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   <span class="comment">// to the macro __BYTE_ORDER (no trailing underscores)</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="comment">// from glibc's <endian.h> header.</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>   <span class="comment">// We don't support the PDP-11 as a target, but include</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   <span class="comment">// the define so it can still be compared against.</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ORDER_LITTLE_ENDIAN__"</span>, <span class="stringliteral">"1234"</span>);</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ORDER_BIG_ENDIAN__"</span>,    <span class="stringliteral">"4321"</span>);</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__ORDER_PDP_ENDIAN__"</span>,    <span class="stringliteral">"3412"</span>);</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#a5aa6b1782668f2ef9929e867649d55dc">isBigEndian</a>())</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__BYTE_ORDER__"</span>, <span class="stringliteral">"__ORDER_BIG_ENDIAN__"</span>);</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__BYTE_ORDER__"</span>, <span class="stringliteral">"__ORDER_LITTLE_ENDIAN__"</span>);</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> </div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#a79ccbed497a604ca6d9dbfd9b8ac548f" title="Return the width of pointers on this target, for the specified address space.">getPointerWidth</a>(0) == 64 && TI.<a class="code" href="classclang_1_1TargetInfo.html#af096f9dddf086ecff9b58309edcf57e9">getLongWidth</a>() == 64</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>       && TI.<a class="code" href="classclang_1_1TargetInfo.html#a72ec6d14f6a06a1524488c8f2e604546">getIntWidth</a>() == 32) {</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"_LP64"</span>);</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__LP64__"</span>);</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> </div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   <span class="comment">// Define type sizing macros based on the target properties.</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>   assert(TI.<a class="code" href="classclang_1_1TargetInfo.html#a4e2ac19ae48b353248e7e15754283c8d">getCharWidth</a>() == 8 && <span class="stringliteral">"Only support 8-bit char so far"</span>);</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__CHAR_BIT__"</span>, <span class="stringliteral">"8"</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>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__SCHAR_MAX__"</span>, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa86ec31c3feefa2a689fe7410a646fa2d">TargetInfo::SignedChar</a>, TI, Builder);</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__SHRT_MAX__"</span>, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa96ba712b753b3d15a471a8695bc4152c">TargetInfo::SignedShort</a>, TI, Builder);</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__INT_MAX__"</span>, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa71464014407a6dc8e497df454e6ebadc">TargetInfo::SignedInt</a>, TI, Builder);</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__LONG_MAX__"</span>, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1faa6bfb875ba38c5f0f489c601711d10a8">TargetInfo::SignedLong</a>, TI, Builder);</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__LONG_LONG_MAX__"</span>, <a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa68c137614e50e65db0530d618a0e7f35">TargetInfo::SignedLongLong</a>, TI, Builder);</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__WCHAR_MAX__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#ade787c3105265cb6c0aeadf6b33618ec">getWCharType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__INTMAX_MAX__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a6d24ce89199ed3e8fa793b1f82bc1c64">getIntMaxType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>   <a class="code" href="InitPreprocessor_8cpp.html#a324b0644b20261f7bede7668eb6b6608">DefineTypeSize</a>(<span class="stringliteral">"__SIZE_MAX__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a9523741c4170d929ac8724bf9327fd78">getSizeType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> </div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_DOUBLE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a081ed10939e4ff616f164447c94edeff" title="getDoubleWidth/Align/Format - Return the size/align/format of 'double'.">getDoubleWidth</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_FLOAT__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a2eb8eed52a7656113280b3334f631aca" title="getFloatWidth/Align/Format - Return the size/align/format of 'float'.">getFloatWidth</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_INT__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a72ec6d14f6a06a1524488c8f2e604546">getIntWidth</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_LONG__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#af096f9dddf086ecff9b58309edcf57e9">getLongWidth</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_LONG_DOUBLE__"</span>,TI.<a class="code" href="classclang_1_1TargetInfo.html#aa56424a620b5da6d3ea1eb68357ed643">getLongDoubleWidth</a>(),TI,<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_LONG_LONG__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a3bb12933e98546faabea961600614988">getLongLongWidth</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_POINTER__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a79ccbed497a604ca6d9dbfd9b8ac548f" title="Return the width of pointers on this target, for the specified address space.">getPointerWidth</a>(0), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_SHORT__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#af14a15a2987e33d51d2970a233d3c1fd" title="Return the size of 'signed short' and 'unsigned short' for this target, in bits.">getShortWidth</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_PTRDIFF_T__"</span>,</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>                    TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#ae7d47df24bedd6a56e178b1b385f128e">getPtrDiffType</a>(0)), TI, Builder);</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_SIZE_T__"</span>,</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>                    TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#a9523741c4170d929ac8724bf9327fd78">getSizeType</a>()), TI, Builder);</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_WCHAR_T__"</span>,</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>                    TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#ade787c3105265cb6c0aeadf6b33618ec">getWCharType</a>()), TI, Builder);</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>   <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_WINT_T__"</span>,</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>                    TI.<a class="code" href="classclang_1_1TargetInfo.html#a1703453c281bb4c9baaf120683b250fd" title="Return the width (in bits) of the specified integer type enum.">getTypeWidth</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#a13e9d6ba3f3409d69e2353d295138d6f">getWIntType</a>()), TI, Builder);</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#ab8f2e7f76735159dd3c46d993c786a2b" title="Determine whether the __int128 type is supported on this target.">hasInt128Type</a>())</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>     <a class="code" href="InitPreprocessor_8cpp.html#a1f8836c5cb627312baa1a1a5eea321a6">DefineTypeSizeof</a>(<span class="stringliteral">"__SIZEOF_INT128__"</span>, 128, TI, Builder);</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>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__INTMAX_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a6d24ce89199ed3e8fa793b1f82bc1c64">getIntMaxType</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__UINTMAX_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#af85b65cc74dd9ec040068f4cce65f9f3">getUIntMaxType</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__INTMAX_WIDTH__"</span>,  TI.<a class="code" href="classclang_1_1TargetInfo.html#a6d24ce89199ed3e8fa793b1f82bc1c64">getIntMaxType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__PTRDIFF_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#ae7d47df24bedd6a56e178b1b385f128e">getPtrDiffType</a>(0), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__PTRDIFF_WIDTH__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#ae7d47df24bedd6a56e178b1b385f128e">getPtrDiffType</a>(0), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__INTPTR_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a600950eed429c3b2fde929d41a0f5a17">getIntPtrType</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__INTPTR_WIDTH__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a600950eed429c3b2fde929d41a0f5a17">getIntPtrType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__SIZE_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a9523741c4170d929ac8724bf9327fd78">getSizeType</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__SIZE_WIDTH__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a9523741c4170d929ac8724bf9327fd78">getSizeType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__WCHAR_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#ade787c3105265cb6c0aeadf6b33618ec">getWCharType</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__WCHAR_WIDTH__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#ade787c3105265cb6c0aeadf6b33618ec">getWCharType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__WINT_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a13e9d6ba3f3409d69e2353d295138d6f">getWIntType</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__WINT_WIDTH__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a13e9d6ba3f3409d69e2353d295138d6f">getWIntType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>   <a class="code" href="InitPreprocessor_8cpp.html#af465483a4faeb0212ed71d60c243bcbf">DefineTypeWidth</a>(<span class="stringliteral">"__SIG_ATOMIC_WIDTH__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a2458ef365224c5a335e05c59bc6c4bf0">getSigAtomicType</a>(), TI, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__CHAR16_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a342912840559b260cdd95b8fb094ba53">getChar16Type</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   <a class="code" href="InitPreprocessor_8cpp.html#ab149a485baec6c1b1bf3eed0abffafa9">DefineType</a>(<span class="stringliteral">"__CHAR32_TYPE__"</span>, TI.<a class="code" href="classclang_1_1TargetInfo.html#a17eab61fe7328d144d86b02f20dbf922">getChar32Type</a>(), <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> </div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>   <a class="code" href="InitPreprocessor_8cpp.html#a33024bf7d866365a54ab36f3b628447c">DefineFloatMacros</a>(Builder, <span class="stringliteral">"FLT"</span>, &TI.<a class="code" href="classclang_1_1TargetInfo.html#a04718682789c036d22ba0230c60db4f8">getFloatFormat</a>(), <span class="stringliteral">"F"</span>);</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>   <a class="code" href="InitPreprocessor_8cpp.html#a33024bf7d866365a54ab36f3b628447c">DefineFloatMacros</a>(Builder, <span class="stringliteral">"DBL"</span>, &TI.<a class="code" href="classclang_1_1TargetInfo.html#a41df3dcf6e4f2f42bb852b04864cb587">getDoubleFormat</a>(), <span class="stringliteral">""</span>);</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>   <a class="code" href="InitPreprocessor_8cpp.html#a33024bf7d866365a54ab36f3b628447c">DefineFloatMacros</a>(Builder, <span class="stringliteral">"LDBL"</span>, &TI.<a class="code" href="classclang_1_1TargetInfo.html#a136f78988959570f44bdc19a1282f9a3">getLongDoubleFormat</a>(), <span class="stringliteral">"L"</span>);</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   <span class="comment">// Define a __POINTER_WIDTH__ macro for stdint.h.</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__POINTER_WIDTH__"</span>,</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>                       Twine((<span class="keywordtype">int</span>)TI.<a class="code" href="classclang_1_1TargetInfo.html#a79ccbed497a604ca6d9dbfd9b8ac548f" title="Return the width of pointers on this target, for the specified address space.">getPointerWidth</a>(0)));</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span> </div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <span class="keywordflow">if</span> (!LangOpts.CharIsSigned)</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__CHAR_UNSIGNED__"</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">if</span> (!<a class="code" href="classclang_1_1TargetInfo.html#a46470ac21932c1aa0ed4f077faf4e1dd" title="Returns true if the type is signed; false otherwise.">TargetInfo::isTypeSigned</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#ade787c3105265cb6c0aeadf6b33618ec">getWCharType</a>()))</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__WCHAR_UNSIGNED__"</span>);</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> </div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1TargetInfo.html#a46470ac21932c1aa0ed4f077faf4e1dd" title="Returns true if the type is signed; false otherwise.">TargetInfo::isTypeSigned</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#a13e9d6ba3f3409d69e2353d295138d6f">getWIntType</a>()))</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__WINT_UNSIGNED__"</span>);</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span> </div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   <span class="comment">// Define exact-width integer types for stdint.h</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__INT"</span> + Twine(TI.<a class="code" href="classclang_1_1TargetInfo.html#a4e2ac19ae48b353248e7e15754283c8d">getCharWidth</a>()) + <span class="stringliteral">"_TYPE__"</span>,</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>                       <span class="stringliteral">"char"</span>);</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> </div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#af14a15a2987e33d51d2970a233d3c1fd" title="Return the size of 'signed short' and 'unsigned short' for this target, in bits.">getShortWidth</a>() > TI.<a class="code" href="classclang_1_1TargetInfo.html#a4e2ac19ae48b353248e7e15754283c8d">getCharWidth</a>())</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>     <a class="code" href="InitPreprocessor_8cpp.html#a3f25aab17ebdbeb9748bef314fecea14">DefineExactWidthIntType</a>(<a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa96ba712b753b3d15a471a8695bc4152c">TargetInfo::SignedShort</a>, TI, Builder);</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span> </div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#a72ec6d14f6a06a1524488c8f2e604546">getIntWidth</a>() > TI.<a class="code" href="classclang_1_1TargetInfo.html#af14a15a2987e33d51d2970a233d3c1fd" title="Return the size of 'signed short' and 'unsigned short' for this target, in bits.">getShortWidth</a>())</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>     <a class="code" href="InitPreprocessor_8cpp.html#a3f25aab17ebdbeb9748bef314fecea14">DefineExactWidthIntType</a>(<a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa71464014407a6dc8e497df454e6ebadc">TargetInfo::SignedInt</a>, TI, Builder);</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>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#af096f9dddf086ecff9b58309edcf57e9">getLongWidth</a>() > TI.<a class="code" href="classclang_1_1TargetInfo.html#a72ec6d14f6a06a1524488c8f2e604546">getIntWidth</a>())</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>     <a class="code" href="InitPreprocessor_8cpp.html#a3f25aab17ebdbeb9748bef314fecea14">DefineExactWidthIntType</a>(<a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1faa6bfb875ba38c5f0f489c601711d10a8">TargetInfo::SignedLong</a>, TI, Builder);</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>   <span class="keywordflow">if</span> (TI.<a class="code" href="classclang_1_1TargetInfo.html#a3bb12933e98546faabea961600614988">getLongLongWidth</a>() > TI.<a class="code" href="classclang_1_1TargetInfo.html#af096f9dddf086ecff9b58309edcf57e9">getLongWidth</a>())</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>     <a class="code" href="InitPreprocessor_8cpp.html#a3f25aab17ebdbeb9748bef314fecea14">DefineExactWidthIntType</a>(<a class="code" href="classclang_1_1TargetInfo.html#a58fa8412e85dcb05d2a4c6ad4e52ce1fa68c137614e50e65db0530d618a0e7f35">TargetInfo::SignedLongLong</a>, TI, Builder);</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span> </div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> *Prefix = TI.<a class="code" href="classclang_1_1TargetInfo.html#a26886111ee564dc41d79b495344b9884" title="Returns the default value of the USER_LABEL_PREFIX macro, which is the prefix given to user symbols b...">getUserLabelPrefix</a>())</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__USER_LABEL_PREFIX__"</span>, Prefix);</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> </div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>   <span class="keywordflow">if</span> (LangOpts.FastMath || LangOpts.FiniteMathOnly)</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__FINITE_MATH_ONLY__"</span>, <span class="stringliteral">"1"</span>);</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__FINITE_MATH_ONLY__"</span>, <span class="stringliteral">"0"</span>);</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   <span class="keywordflow">if</span> (LangOpts.GNUInline)</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GNUC_GNU_INLINE__"</span>);</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GNUC_STDC_INLINE__"</span>);</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> </div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>   <span class="comment">// The value written by __atomic_test_and_set.</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="comment">// FIXME: This is target-dependent.</span></div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL"</span>, <span class="stringliteral">"1"</span>);</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">// Used by libstdc++ to implement ATOMIC_<foo>_LOCK_FREE.</span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>   <span class="keywordtype">unsigned</span> InlineWidthBits = TI.<a class="code" href="classclang_1_1TargetInfo.html#ae037d9aa3a4b9045f068af77209ee6cb" title="Return the maximum width lock-free atomic operation which can be inlined given the supported features...">getMaxAtomicInlineWidth</a>();</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span> <span class="preprocessor">#define DEFINE_LOCK_FREE_MACRO(TYPE, Type) \</span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> <span class="preprocessor">  Builder.defineMacro("__GCC_ATOMIC_" #TYPE "_LOCK_FREE", \</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span> <span class="preprocessor">                      getLockFreeValue(TI.get##Type##Width(), \</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> <span class="preprocessor">                                       TI.get##Type##Align(), \</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> <span class="preprocessor">                                       InlineWidthBits));</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> <span class="preprocessor"></span>  <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(BOOL, Bool);</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(CHAR, Char);</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(CHAR16_T, Char16);</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(CHAR32_T, Char32);</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(WCHAR_T, WChar);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(SHORT, Short);</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(INT, Int);</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(LONG, Long);</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad3f6792e0e0e280546faa07a7faceace">DEFINE_LOCK_FREE_MACRO</a>(LLONG, LongLong);</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__GCC_ATOMIC_POINTER_LOCK_FREE"</span>,</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>                       <a class="code" href="InitPreprocessor_8cpp.html#a4ca20d82dd01b30f1243d865b188b9df">getLockFreeValue</a>(TI.<a class="code" href="classclang_1_1TargetInfo.html#a79ccbed497a604ca6d9dbfd9b8ac548f" title="Return the width of pointers on this target, for the specified address space.">getPointerWidth</a>(0),</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>                                        TI.<a class="code" href="classclang_1_1TargetInfo.html#acf5517fa75c8217085536ea21d68d4e9">getPointerAlign</a>(0),</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>                                        InlineWidthBits));</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> <span class="preprocessor">#undef DEFINE_LOCK_FREE_MACRO</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>   <span class="keywordflow">if</span> (LangOpts.NoInlineDefine)</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__NO_INLINE__"</span>);</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span> </div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="keywordflow">if</span> (<span class="keywordtype">unsigned</span> PICLevel = LangOpts.PICLevel) {</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__PIC__"</span>, Twine(PICLevel));</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__pic__"</span>, Twine(PICLevel));</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>   }</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   <span class="keywordflow">if</span> (<span class="keywordtype">unsigned</span> PIELevel = LangOpts.PIELevel) {</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__PIE__"</span>, Twine(PIELevel));</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__pie__"</span>, Twine(PIELevel));</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>   }</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   <span class="comment">// Macros to control C99 numerics and <float.h></span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__FLT_EVAL_METHOD__"</span>, Twine(TI.<a class="code" href="classclang_1_1TargetInfo.html#a28fa097315e2cd56c8f53ca503aa1420" title="Return the value for the C99 FLT_EVAL_METHOD macro.">getFloatEvalMethod</a>()));</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__FLT_RADIX__"</span>, <span class="stringliteral">"2"</span>);</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>   <span class="keywordtype">int</span> Dig = <a class="code" href="InitPreprocessor_8cpp.html#a41f05da8a5e96636643071bc9be92622">PickFP</a>(&TI.<a class="code" href="classclang_1_1TargetInfo.html#a136f78988959570f44bdc19a1282f9a3">getLongDoubleFormat</a>(), -1<span class="comment">/*FIXME*/</span>, 17, 21, 33, 36);</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>   Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__DECIMAL_DIG__"</span>, Twine(Dig));</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> </div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>   <span class="keywordflow">if</span> (LangOpts.getStackProtector() == <a class="code" href="classclang_1_1LangOptions.html#ac889bd73efcb3d30e8670ab400d94f83abde3bf1143bf193f4a147b378814f025">LangOptions::SSPOn</a>)</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__SSP__"</span>);</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (LangOpts.getStackProtector() == <a class="code" href="classclang_1_1LangOptions.html#ac889bd73efcb3d30e8670ab400d94f83a05919079389855372132b51952b54fe3">LangOptions::SSPReq</a>)</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__SSP_ALL__"</span>, <span class="stringliteral">"2"</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="keywordflow">if</span> (FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#aed06584fe9ea4e1cd6679c9a9ddfce77" title="The frontend action to perform.">ProgramAction</a> == <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a8ba87375ecbff647fa1056961780b51d" title="ObjC->C Rewriter.">frontend::RewriteObjC</a>)</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__weak"</span>, <span class="stringliteral">"__attribute__((objc_gc(weak)))"</span>);</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> </div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>   <span class="comment">// Define a macro that exists only when using the static analyzer.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>   <span class="keywordflow">if</span> (FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#aed06584fe9ea4e1cd6679c9a9ddfce77" title="The frontend action to perform.">ProgramAction</a> == <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a9b1fb8b91154c98283e0e67b56fe5238" title="Run one or more source code analyses.">frontend::RunAnalysis</a>)</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__clang_analyzer__"</span>);</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span> </div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>   <span class="keywordflow">if</span> (LangOpts.FastRelaxedMath)</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__FAST_RELAXED_MATH__"</span>);</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span> </div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>   <span class="keywordflow">if</span> (LangOpts.ObjCAutoRefCount) {</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__weak"</span>, <span class="stringliteral">"__attribute__((objc_ownership(weak)))"</span>);</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__strong"</span>, <span class="stringliteral">"__attribute__((objc_ownership(strong)))"</span>);</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__autoreleasing"</span>,</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>                         <span class="stringliteral">"__attribute__((objc_ownership(autoreleasing)))"</span>);</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"__unsafe_unretained"</span>,</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>                         <span class="stringliteral">"__attribute__((objc_ownership(none)))"</span>);</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>   }</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> </div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>   <span class="comment">// OpenMP definition</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>   <span class="keywordflow">if</span> (LangOpts.OpenMP) {</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>     <span class="comment">// OpenMP 2.2: </span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>     <span class="comment">//   In implementations that support a preprocessor, the _OPENMP</span></div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>     <span class="comment">//   macro name is defined to have the decimal value yyyymm where</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>     <span class="comment">//   yyyy and mm are the year and the month designations of the</span></div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>     <span class="comment">//   version of the OpenMP API that the implementation support.</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a1880e8910f738547195ff1859cf16f12" title="Append a #define line for macro of the form "\#define Name Value\n".">defineMacro</a>(<span class="stringliteral">"_OPENMP"</span>, <span class="stringliteral">"201107"</span>);</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>   }</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> </div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>   <span class="comment">// Get other target #defines.</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>   TI.<a class="code" href="classclang_1_1TargetInfo.html#a71651c591a87566b541874507e3de1ef" title="===-— Other target property query methods --------------------——===//">getTargetDefines</a>(LangOpts, Builder);</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</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> <span class="comment">// Initialize the remapping of files to alternative contents, e.g.,</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span> <span class="comment">// those specified through other files.</span></div>
+<div class="line"><a name="l00734"></a><span class="lineno"><a class="code" href="InitPreprocessor_8cpp.html#aba3278b57a658a5026d1582db437bffb">  734</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="InitPreprocessor_8cpp.html#aba3278b57a658a5026d1582db437bffb">InitializeFileRemapping</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diags,</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>                                     <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>,</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>                                     <a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> &FileMgr,</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &InitOpts) {</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>   <span class="comment">// Remap files in the source manager (with buffers).</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1PreprocessorOptions.html#aaf3bf659abf17ddfa6b2593cbe048b9e">PreprocessorOptions::const_remapped_file_buffer_iterator</a></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>          Remap = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#af278ce7e3d51c74252c8b4e00dc7f42b">remapped_file_buffer_begin</a>(),</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>          RemapEnd = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#af80ead86d2fa9d64e8e3cd8f76a65263">remapped_file_buffer_end</a>();</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>        Remap != RemapEnd;</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>        ++Remap) {</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>     <span class="comment">// Create the file entry for the file that we're mapping from.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *FromFile = FileMgr.<a class="code" href="classclang_1_1FileManager.html#a7dd8ef9d948ba6281672e34eb8adaa2a" title="Retrieve a file entry for a "virtual" file that acts as if there were a file with the given name on d...">getVirtualFile</a>(Remap->first,</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>                                                 Remap->second->getBufferSize(),</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>                                                        0);</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>     <span class="keywordflow">if</span> (!FromFile) {</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>       Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_remap_missing_from_file)</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>         << Remap->first;</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>       <span class="keywordflow">if</span> (!InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a47eb4ea58ec9f1b60266df38f6840ed6" title="Whether the compiler instance should retain (i.e., not free) the buffers associated with remapped fil...">RetainRemappedFileBuffers</a>)</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>         <span class="keyword">delete</span> Remap->second;</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>     }</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> </div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>     <span class="comment">// Override the contents of the "from" file with the contents of</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     <span class="comment">// the "to" file.</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a0eb85320100e00c98e4bc3305e6e8753" title="Override the contents of the given source file by providing an already-allocated buffer.">overrideFileContents</a>(FromFile, Remap->second,</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>                                    InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a47eb4ea58ec9f1b60266df38f6840ed6" title="Whether the compiler instance should retain (i.e., not free) the buffers associated with remapped fil...">RetainRemappedFileBuffers</a>);</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> </div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>   <span class="comment">// Remap files in the source manager (with other files).</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_1PreprocessorOptions.html#a5fa3de1bfdb51e0eafc436af0218dcac">PreprocessorOptions::const_remapped_file_iterator</a></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>          Remap = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#abe25a6b063b462346902351a75bb6543">remapped_file_begin</a>(),</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>          RemapEnd = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a2f5ff2fffec1ee5f0b8516973d9dbd67">remapped_file_end</a>();</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>        Remap != RemapEnd;</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>        ++Remap) {</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>     <span class="comment">// Find the file that we're mapping to.</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *ToFile = FileMgr.<a class="code" href="classclang_1_1FileManager.html#ae250b54e2bc90b8075b96ea7e88eff77" title="Lookup, cache, and verify the specified file (real or virtual).">getFile</a>(Remap->second);</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>     <span class="keywordflow">if</span> (!ToFile) {</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>       Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_remap_missing_to_file)</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>       << Remap->first << Remap->second;</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>     </div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>     <span class="comment">// Create the file entry for the file that we're mapping from.</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *FromFile = FileMgr.<a class="code" href="classclang_1_1FileManager.html#a7dd8ef9d948ba6281672e34eb8adaa2a" title="Retrieve a file entry for a "virtual" file that acts as if there were a file with the given name on d...">getVirtualFile</a>(Remap->first,</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>                                                        ToFile-><a class="code" href="classclang_1_1FileEntry.html#aee560da94e38d95f08dfa9779acc9367">getSize</a>(), 0);</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     <span class="keywordflow">if</span> (!FromFile) {</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>       Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_remap_missing_from_file)</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>       << Remap->first;</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="comment">// Override the contents of the "from" file with the contents of</span></div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>     <span class="comment">// the "to" file.</span></div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>     SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a0eb85320100e00c98e4bc3305e6e8753" title="Override the contents of the given source file by providing an already-allocated buffer.">overrideFileContents</a>(FromFile, ToFile);</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>   }</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span> </div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>   SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a7af232b260b207f1bb138309a2465ee3" title="Set true if the SourceManager should report the original file name for contents of files that were ov...">setOverridenFilesKeepOriginalName</a>(</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>                                         InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a30f576ae311b7fd39a265a41ab6ab09c" title="True if the SourceManager should report the original file name for contents of files that were remapp...">RemappedFilesKeepOriginalName</a>);</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span> }</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span> <span class="comment"></span></div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span> <span class="comment">/// InitializePreprocessor - Initialize the preprocessor getting it and the</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> <span class="comment">/// environment ready to process a single file. This returns true on error.</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno"><a class="code" href="namespaceclang.html#ad19e5c8c5ca1dfbd51ca63cde5d35040">  797</a></span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#ad19e5c8c5ca1dfbd51ca63cde5d35040">clang::InitializePreprocessor</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP,</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &InitOpts,</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts,</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts) {</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts = PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>();</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   std::string PredefineBuffer;</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   PredefineBuffer.reserve(4080);</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   llvm::raw_string_ostream Predefines(PredefineBuffer);</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>   <a class="code" href="classclang_1_1MacroBuilder.html">MacroBuilder</a> <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>(Predefines);</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>   <a class="code" href="InitPreprocessor_8cpp.html#aba3278b57a658a5026d1582db437bffb">InitializeFileRemapping</a>(PP.<a class="code" href="classclang_1_1Preprocessor.html#a663f9d8c8151906a9bf39954f3d15c60">getDiagnostics</a>(), PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>(),</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>                           PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>(), InitOpts);</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span> </div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>   <span class="comment">// Emit line markers for various builtin sections of the file.  We don't do</span></div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>   <span class="comment">// this in asm preprocessor mode, because "# 4" is not a line marker directive</span></div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>   <span class="comment">// in this mode.</span></div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   <span class="keywordflow">if</span> (!PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().AsmPreprocessor)</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(<span class="stringliteral">"# 1 \"<built-in>\" 3"</span>);</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span> </div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>   <span class="comment">// Install things like __POWERPC__, __GNUC__, etc into the macro table.</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>   <span class="keywordflow">if</span> (InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a6bf6504a1e99a33278fc9918525482be" title="Initialize the preprocessor with the compiler and target specific predefines.">UsePredefines</a>) {</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>     <a class="code" href="InitPreprocessor_8cpp.html#a23bda333313d98900573fa2e1a981fa9">InitializePredefinedMacros</a>(PP.<a class="code" href="classclang_1_1Preprocessor.html#ac6865d870ca2177999249afe34042082">getTargetInfo</a>(), LangOpts, FEOpts, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</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>     <span class="comment">// Install definitions to make Objective-C++ ARC work well with various</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>     <span class="comment">// C++ Standard Library implementations.</span></div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>     <span class="keywordflow">if</span> (LangOpts.ObjC1 && LangOpts.CPlusPlus && LangOpts.ObjCAutoRefCount) {</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>       <span class="keywordflow">switch</span> (InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a539b6d0619bceaaf15a2cee0d0280fe8" title="The Objective-C++ ARC standard library that we should support, by providing appropriate definitions t...">ObjCXXARCStandardLibrary</a>) {</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a6d30ae8d7e08d15996da55cf93877d55a6ff99b448e2797128b7f2065f3043d36">ARCXX_nolib</a>:</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a6d30ae8d7e08d15996da55cf93877d55a33c6ddd125a3f144029d859dc45b5c01" title="libc++">ARCXX_libcxx</a>:</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span> </div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a6d30ae8d7e08d15996da55cf93877d55a9fd85370c60b0ff305cd2203fb1646f7" title="libstdc++">ARCXX_libstdcxx</a>:</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>         <a class="code" href="InitPreprocessor_8cpp.html#a72fd5e2bd99be04ee85b2c00966da196" title="Add definitions required for a smooth interaction between Objective-C++ automated reference counting ...">AddObjCXXARCLibstdcxxDefines</a>(LangOpts, Builder);</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>       }</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>     }</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>   }</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>   </div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>   <span class="comment">// Even with predefines off, some macros are still predefined.</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>   <span class="comment">// These should all be defined in the preprocessor according to the</span></div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>   <span class="comment">// current language configuration.</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>   <a class="code" href="InitPreprocessor_8cpp.html#ad4586206f87783141063ab80478933e0">InitializeStandardPredefinedMacros</a>(PP.<a class="code" href="classclang_1_1Preprocessor.html#ac6865d870ca2177999249afe34042082">getTargetInfo</a>(), PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>(),</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>                                      FEOpts, <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>);</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> </div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>   <span class="comment">// Add on the predefines from the driver.  Wrap in a #line directive to report</span></div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>   <span class="comment">// that they come from the command line.</span></div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>   <span class="keywordflow">if</span> (!PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().AsmPreprocessor)</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(<span class="stringliteral">"# 1 \"<command line>\" 1"</span>);</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span> </div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>   <span class="comment">// Process #define's and #undef's in the order they are given.</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>     <span class="keywordflow">if</span> (InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>[i].second)  <span class="comment">// isUndef</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>       Builder.<a class="code" href="classclang_1_1MacroBuilder.html#a3c8a32c5ef6651351678f484dfdf3d57">undefineMacro</a>(InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>[i].first);</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>       <a class="code" href="InitPreprocessor_8cpp.html#ace35cbb4d01338aa6fa123e734386ac1">DefineBuiltinMacro</a>(Builder, InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>[i].first,</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>                          PP.<a class="code" href="classclang_1_1Preprocessor.html#a663f9d8c8151906a9bf39954f3d15c60">getDiagnostics</a>());</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>   <span class="comment">// If -imacros are specified, include them now.  These are processed before</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>   <span class="comment">// any -include directives.</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a1ab7a198bfde2831a06b9716986eab3b">MacroIncludes</a>.size(); i != e; ++i)</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>     <a class="code" href="InitPreprocessor_8cpp.html#a76669f8e6dd78f8a79ac9d782b4599ab">AddImplicitIncludeMacros</a>(Builder, InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a1ab7a198bfde2831a06b9716986eab3b">MacroIncludes</a>[i],</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>                              PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>());</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> </div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>   <span class="comment">// Process -include-pch/-include-pth directives.</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>   <span class="keywordflow">if</span> (!InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ab62f6211f45e53fb6a45ad84d2a87657" title="The implicit PCH included at the start of the translation unit, or empty.">ImplicitPCHInclude</a>.empty())</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>     <a class="code" href="InitPreprocessor_8cpp.html#adfa36d56eab3847efca1b6fbb678c4b1" title="Add an implicit #include using the original file used to generate a PCH file.">AddImplicitIncludePCH</a>(Builder, PP, InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ab62f6211f45e53fb6a45ad84d2a87657" title="The implicit PCH included at the start of the translation unit, or empty.">ImplicitPCHInclude</a>);</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>   <span class="keywordflow">if</span> (!InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a0c36fcce055469acd070d560240f6179">ImplicitPTHInclude</a>.empty())</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>     <a class="code" href="InitPreprocessor_8cpp.html#a79c3f6de54c9015b523895b3ccb9eb6c">AddImplicitIncludePTH</a>(Builder, PP, InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a0c36fcce055469acd070d560240f6179">ImplicitPTHInclude</a>);</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">// Process -include directives.</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a1d10fb5b3335d765ea61e5a5cf3e1821">Includes</a>.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>     <span class="keyword">const</span> std::string &Path = InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a1d10fb5b3335d765ea61e5a5cf3e1821">Includes</a>[i];</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>     <a class="code" href="InitPreprocessor_8cpp.html#a1b58a7e8a4d0787c10ea903280fa1788">AddImplicitInclude</a>(Builder, Path, PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>());</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="comment">// Exit the command line and go back to <built-in> (2 is LC_LEAVE).</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>   <span class="keywordflow">if</span> (!PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().AsmPreprocessor)</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>     Builder.<a class="code" href="classclang_1_1MacroBuilder.html#aac7a3a59e3826d9251c2f8c85a75cc26" title="Directly append Str and a newline to the underlying buffer.">append</a>(<span class="stringliteral">"# 1 \"<built-in>\" 2"</span>);</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span> </div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>   <span class="comment">// Instruct the preprocessor to skip the preamble.</span></div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   PP.<a class="code" href="classclang_1_1Preprocessor.html#abebe93852f740db28b47ba6de2165ec2" title="Instruct the preprocessor to skip part of the main source file.">setSkipMainFilePreamble</a>(InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a24671d094917020114917c55ee0c7a11" title="If non-zero, the implicit PCH include is actually a precompiled preamble that covers this number of b...">PrecompiledPreambleBytes</a>.first,</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>                              InitOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a24671d094917020114917c55ee0c7a11" title="If non-zero, the implicit PCH include is actually a precompiled preamble that covers this number of b...">PrecompiledPreambleBytes</a>.second);</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>                           </div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>   <span class="comment">// Copy PredefinedBuffer into the Preprocessor.</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>   PP.<a class="code" href="classclang_1_1Preprocessor.html#ac30753bca7cb4d7a2cf92ea9ed91266a">setPredefines</a>(Predefines.str());</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>   </div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>   <span class="comment">// Initialize the header search object.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>   <a class="code" href="namespaceclang.html#a3b2a0da8e3a92086fd40120ffe9de6a6" title="Apply the header search options to get given HeaderSearch object.">ApplyHeaderSearchOptions</a>(PP.<a class="code" href="classclang_1_1Preprocessor.html#a9dc8733c4a182dee512c14dbdcfe046e">getHeaderSearchInfo</a>(), HSOpts,</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>                            PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>(),</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>                            PP.<a class="code" href="classclang_1_1Preprocessor.html#ac6865d870ca2177999249afe34042082">getTargetInfo</a>().<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>());</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InitPreprocessor_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitPreprocessor_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitPreprocessor_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InitPreprocessor_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,580 @@
+<!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: InitPreprocessor.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_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_d028e0ee810452766990d0b974c930cc.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InitPreprocessor.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InitPreprocessor_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/Frontend/Release+Asserts/InitPreprocessor.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/InitPreprocessor.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  InitPreprocessor.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/Casting.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/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/MacroBuilder.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.inc \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendDiagnostic.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticFrontendKinds.inc \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearch.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTReader.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ExternalPreprocessorSource.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessingRecord.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTBitCodes.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ContinuousRangeMap.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/Module.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/include/llvm/Bitcode/BitstreamReader.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/include/llvm/Support/Endian.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/include/llvm/Support/Host.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/include/llvm/Support/StreamableMemoryObject.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/include/llvm/Support/DataStream.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/include/llvm/Support/MemoryObject.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ModuleManager.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/include/llvm/Support/Path.h</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h:</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.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/PointerLikeTypeTraits.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/ADT/ArrayRef.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/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.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/ADT/DenseMap.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/DenseMapInfo.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/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.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/OwningPtr.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/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/Support/FileSystem.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/SmallString.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/ADT/Twine.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/Support/ErrorHandling.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/Support/TimeValue.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/system_error.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/Frontend/../../include/clang/Basic/MacroBuilder.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/raw_ostream.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.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/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.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/PointerUnion.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.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/CBindingWrapping.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-c/Core.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/Frontend/../../include/clang/Basic/TargetInfo.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/Frontend/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetCXXABI.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/Triple.h:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.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/Optional.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/StringSwitch.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/Frontend/../../include/clang/Basic/Version.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/Frontend/../../include/clang/Basic/Version.inc:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendDiagnostic.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/Frontend/../../include/clang/Basic/DiagnosticFrontendKinds.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/Frontend/../../include/clang/Frontend/FrontendOptions.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/Frontend/../../include/clang/Frontend/CommandLineSourceLoc.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/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</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/tools/clang/lib/Frontend/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearch.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.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/Frontend/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="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/Frontend/../../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="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/Frontend/../../include/clang/Basic/Sanitizers.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/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def:</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/Frontend/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.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/SetVector.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.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/Frontend/../../include/clang/Basic/Builtins.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/Frontend/../../include/clang/Basic/Builtins.def:</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/Frontend/../../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/Frontend/../../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/Frontend/../../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/Frontend/../../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/Frontend/../../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/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h:</div>
+<div class="line"><a name="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/Frontend/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTReader.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/Frontend/../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Decl.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/Frontend/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/ADT/APInt.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/ADT/APSInt.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/Frontend/../../include/clang/AST/DeclBase.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/Frontend/../../include/clang/AST/AttrIterator.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/Frontend/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.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/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Redeclarable.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/Frontend/../../include/clang/AST/Type.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/Frontend/../../include/clang/AST/NestedNameSpecifier.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/include/llvm/ADT/FoldingSet.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/Frontend/../../include/clang/AST/TemplateName.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/Frontend/../../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="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/Frontend/../../include/clang/AST/TypeNodes.def:</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/Frontend/../../include/clang/AST/BuiltinTypes.def:</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/Frontend/../../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="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/Frontend/../../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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ExternalPreprocessorSource.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessingRecord.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/Frontend/../../include/clang/Sema/ExternalSemaSource.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/Frontend/../../include/clang/Sema/TypoCorrection.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/Frontend/../../include/clang/AST/DeclCXX.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/Frontend/../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Stmt.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/Frontend/../../include/clang/AST/DeclGroup.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/Frontend/../../include/clang/AST/StmtIterator.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/Frontend/../../include/clang/Basic/CapturedStmt.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/Frontend/../../include/clang/AST/StmtNodes.inc:</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/Frontend/../../include/clang/Basic/CharInfo.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/Frontend/../../include/clang/Basic/TypeTraits.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/Frontend/../../include/clang/AST/ExprCXX.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/Frontend/../../include/clang/Basic/ExpressionTraits.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/Frontend/../../include/clang/Basic/Lambda.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/Frontend/../../include/clang/AST/TypeLoc.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/Frontend/../../include/clang/AST/TypeLocNodes.def:</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/Frontend/../../include/clang/Sema/DeclSpec.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/Frontend/../../include/clang/Sema/AttributeList.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/Frontend/../../include/clang/Sema/Ownership.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/Frontend/../../include/clang/Sema/AttrParsedAttrList.inc:</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/Frontend/../../include/clang/Sema/Weak.h:</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTBitCodes.h:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.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/Frontend/../../include/clang/Serialization/ContinuousRangeMap.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/Frontend/../../include/clang/Serialization/Module.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/Bitcode/BitstreamReader.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/Endian.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/Host.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/Support/StreamableMemoryObject.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/Support/DataStream.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> /home/tstellar/llvm/include/llvm/Support/MemoryObject.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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ModuleManager.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/include/llvm/Support/Path.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/Initialization_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Initialization_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Initialization_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Initialization_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1181 @@
+<!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: Initialization.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_d527ffe6334522956bc19a2da6aab47c.html">Sema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Initialization.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Initialization_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">//===--- Initialization.h - Semantic Analysis for Initializers --*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This file provides supporting data types for initialization of 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> <span class="preprocessor">#ifndef LLVM_CLANG_SEMA_INITIALIZATION_H</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_SEMA_INITIALIZATION_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</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="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="Attr_8h.html">clang/AST/Attr.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="UnresolvedSet_8h.html">clang/AST/UnresolvedSet.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="SourceLocation_8h.html" title="Defines the clang::SourceLocation class and associated facilities.">clang/Basic/SourceLocation.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Overload_8h.html">clang/Sema/Overload.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="Ownership_8h.html">clang/Sema/Ownership.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/PointerIntPair.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/SmallVector.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include <cassert></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">namespace </span>clang {</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>CXXBaseSpecifier;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">class </span>DeclaratorDecl;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">class </span>DeclaratorInfo;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="keyword">class </span>FieldDecl;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="keyword">class </span>FunctionDecl;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="keyword">class </span>ParmVarDecl;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">class </span>Sema;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">class </span>TypeLoc;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="keyword">class </span>VarDecl;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="keyword">class </span>ObjCMethodDecl;</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">/// \brief Describes an entity that is being initialized.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html">   41</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> {</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">  /// \brief Specifies the kind of entity being initialized.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54">   44</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54" title="Specifies the kind of entity being initialized.">EntityKind</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">    /// \brief The entity being initialized is a variable.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a05418ed636011900bc217f76ac79541e">   46</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a05418ed636011900bc217f76ac79541e" title="The entity being initialized is a variable.">EK_Variable</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">    /// \brief The entity being initialized is a function parameter.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ad360dc534dbde54151282f2ec463e437">   48</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ad360dc534dbde54151282f2ec463e437" title="The entity being initialized is a function parameter.">EK_Parameter</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">    /// \brief The entity being initialized is the result of a function call.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6f2be4544543917c1137af65688538d4">   50</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6f2be4544543917c1137af65688538d4" title="The entity being initialized is the result of a function call.">EK_Result</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">    /// \brief The entity being initialized is an exception object that</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">    /// is being thrown.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aeda0889414ec18780d68cd1acd7697c1">   53</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aeda0889414ec18780d68cd1acd7697c1" title="The entity being initialized is an exception object that is being thrown.">EK_Exception</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">    /// \brief The entity being initialized is a non-static data member </span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">    /// subobject.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a52120d28f63466d99b8752a2af9e7518">   56</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a52120d28f63466d99b8752a2af9e7518" title="The entity being initialized is a non-static data member subobject.">EK_Member</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">    /// \brief The entity being initialized is an element of an array.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ae93df264642b0877b845dce85ae4f0cf">   58</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ae93df264642b0877b845dce85ae4f0cf" title="The entity being initialized is an element of an array.">EK_ArrayElement</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">    /// \brief The entity being initialized is an object (or array of</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">    /// objects) allocated via new.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ab266239bb5435109228d42e7006b61d6">   61</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ab266239bb5435109228d42e7006b61d6" title="The entity being initialized is an object (or array of objects) allocated via new.">EK_New</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment">    /// \brief The entity being initialized is a temporary object.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a074c57b0bb1fef4388625e60246a2d0e">   63</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a074c57b0bb1fef4388625e60246a2d0e" title="The entity being initialized is a temporary object.">EK_Temporary</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">    /// \brief The entity being initialized is a base member subobject.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6cba27054e99332c312fda265a3ef4b5">   65</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6cba27054e99332c312fda265a3ef4b5" title="The entity being initialized is a base member subobject.">EK_Base</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">    /// \brief The initialization is being done by a delegating constructor.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54adbc2d5f1e9744d1e02b76e2644dd2ef8">   67</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54adbc2d5f1e9744d1e02b76e2644dd2ef8" title="The initialization is being done by a delegating constructor.">EK_Delegating</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">    /// \brief The entity being initialized is an element of a vector.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="comment">    /// or vector.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a9eb5e8ee681640b1fc04be0ab9ee4569">   70</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a9eb5e8ee681640b1fc04be0ab9ee4569" title="The entity being initialized is an element of a vector. or vector.">EK_VectorElement</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">    /// \brief The entity being initialized is a field of block descriptor for</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment">    /// the copied-in c++ object.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a18df1df21b14395f06b201b654f57191">   73</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a18df1df21b14395f06b201b654f57191" title="The entity being initialized is a field of block descriptor for the copied-in c++ object...">EK_BlockElement</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment">    /// \brief The entity being initialized is the real or imaginary part of a</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="comment">    /// complex number.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ae03b769f3a227909d6ee887b909631d6">   76</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ae03b769f3a227909d6ee887b909631d6" title="The entity being initialized is the real or imaginary part of a complex number.">EK_ComplexElement</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment">    /// \brief The entity being initialized is the field that captures a </span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> <span class="comment">    /// variable in a lambda.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aec902c7104d21f6ddc9bf44f67e4e02d">   79</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aec902c7104d21f6ddc9bf44f67e4e02d" title="The entity being initialized is the field that captures a variable in a lambda.">EK_LambdaCapture</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment">    /// \brief The entity being initialized is the initializer for a compound</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment">    /// literal.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54acf0ad1ce890f86d62db958c689369c76">   82</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54acf0ad1ce890f86d62db958c689369c76" title="The entity being initialized is the initializer for a compound literal.">EK_CompoundLiteralInit</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">    /// \brief The entity being implicitly initialized back to the formal</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">    /// result type.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54af9fae1e9b6d6ff1fed5a973f32bff298">   85</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54af9fae1e9b6d6ff1fed5a973f32bff298" title="The entity being implicitly initialized back to the formal result type.">EK_RelatedResult</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">    /// \brief The entity being initialized is a function parameter; function</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">    /// is member of group of audited CF APIs.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a42d228120494b3cb2ce0421f7638491f">   88</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a42d228120494b3cb2ce0421f7638491f" title="The entity being initialized is a function parameter; function is member of group of audited CF APIs...">EK_Parameter_CF_Audited</a></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <span class="comment">// Note: err_init_conversion_failed in DiagnosticSemaKinds.td uses this</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="comment">// enum as an index for its first %select.  When modifying this list,</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     <span class="comment">// that diagnostic text needs to be updated as well.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   };</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment">  /// \brief The kind of entity being initialized.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54" title="Specifies the kind of entity being initialized.">EntityKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment"></span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">  /// \brief If non-NULL, the parent entity in which this</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// initialization occurs.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> *Parent;</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">  /// \brief The type of the object or reference being initialized.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment"></span>  <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="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="keyword">struct </span>LN {<span class="comment"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">    /// \brief When Kind == EK_Result, EK_Exception, EK_New, the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment">    /// location of the 'return', 'throw', or 'new' keyword,</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">    /// respectively. When Kind == EK_Temporary, the location where</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">    /// the temporary is being created.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> Location;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">    /// \brief Whether the entity being initialized may end up using the</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment">    /// named return value optimization (NRVO).</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment"></span>    <span class="keywordtype">bool</span> NRVO;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   };</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   <span class="keyword">struct </span>C {<span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">    /// \brief The name of the variable being captured by an EK_LambdaCapture.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment"></span>    IdentifierInfo *VarID;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment">    /// \brief The source location at which the capture occurs.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> Location;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   };</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <span class="keyword">union </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment">    /// \brief When Kind == EK_Variable, or EK_Member, the VarDecl or</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment">    /// FieldDecl, respectively.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a7c355826156db38fee7ea89b30eadd44">  129</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DeclaratorDecl.html" title="Represents a ValueDecl that came out of a declarator. Contains type source information through TypeSo...">DeclaratorDecl</a> *<a class="code" href="classclang_1_1InitializedEntity.html#a7c355826156db38fee7ea89b30eadd44" title="When Kind == EK_Variable, or EK_Member, the VarDecl or FieldDecl, respectively.">VariableOrMember</a>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment">    /// \brief When Kind == EK_RelatedResult, the ObjectiveC method where</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment">    /// result type was implicitly changed to accommodate ARC semantics.</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ae7b70b546e6bfce62e6f6b496c4abf14">  133</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *<a class="code" href="classclang_1_1InitializedEntity.html#ae7b70b546e6bfce62e6f6b496c4abf14" title="When Kind == EK_RelatedResult, the ObjectiveC method where result type was implicitly changed to acco...">MethodDecl</a>;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment"></span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">    /// \brief When Kind == EK_Parameter, the ParmVarDecl, with the</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">    /// low bit indicating whether the parameter is "consumed".</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a03ed35b0372a33bcf8b43a67ab5b536d">  137</a></span> <span class="comment"></span>    uintptr_t <a class="code" href="classclang_1_1InitializedEntity.html#a03ed35b0372a33bcf8b43a67ab5b536d" title="When Kind == EK_Parameter, the ParmVarDecl, with the low bit indicating whether the parameter is "con...">Parameter</a>;</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">    /// \brief When Kind == EK_Temporary or EK_CompoundLiteralInit, the type</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">    /// source information for the temporary.</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1">  141</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1TypeSourceInfo.html" title="A container of type source information.">TypeSourceInfo</a> *<a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1" title="When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary...">TypeInfo</a>;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ad2114923a8ed9a084f3f1a7e77354e05">  143</a></span>     <span class="keyword">struct </span>LN <a class="code" href="classclang_1_1InitializedEntity.html#ad2114923a8ed9a084f3f1a7e77354e05">LocAndNRVO</a>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> <span class="comment">    /// \brief When Kind == EK_Base, the base specifier that provides the </span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment">    /// base class. The lower bit specifies whether the base is an inherited</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment">    /// virtual base.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ad1fd1c8fff996d909ef96fdf78a9b58d">  148</a></span> <span class="comment"></span>    uintptr_t <a class="code" href="classclang_1_1InitializedEntity.html#ad1fd1c8fff996d909ef96fdf78a9b58d" title="When Kind == EK_Base, the base specifier that provides the base class. The lower bit specifies whethe...">Base</a>;</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">    /// \brief When Kind == EK_ArrayElement, EK_VectorElement, or</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> <span class="comment">    /// EK_ComplexElement, the index of the array or vector element being</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> <span class="comment">    /// initialized. </span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#aced2a90974d92eb4173146a37406079e">  153</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1InitializedEntity.html#aced2a90974d92eb4173146a37406079e" title="When Kind == EK_ArrayElement, EK_VectorElement, or EK_ComplexElement, the index of the array or vecto...">Index</a>;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a3dab50215fbecf1b84c9c82544a8003c">  155</a></span>     <span class="keyword">struct </span>C <a class="code" href="classclang_1_1InitializedEntity.html#a3dab50215fbecf1b84c9c82544a8003c">Capture</a>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   };</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>() { }</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">  /// \brief Create the initialization entity for a variable.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment"></span>  InitializedEntity(VarDecl *Var)</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     : <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a05418ed636011900bc217f76ac79541e" title="The entity being initialized is a variable.">EK_Variable</a>), Parent(0), Type(Var-><a class="code" href="classclang_1_1InitializedEntity.html#a0e4e50f5a711a099ebea55a6fa577843" title="Retrieve type being initialized.">getType</a>()),</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       <a class="code" href="classclang_1_1InitializedEntity.html#a7c355826156db38fee7ea89b30eadd44" title="When Kind == EK_Variable, or EK_Member, the VarDecl or FieldDecl, respectively.">VariableOrMember</a>(Var) { }</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 Create the initialization entity for the result of a</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment">  /// function, throwing an object, performing an explicit cast, or</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">  /// initializing a parameter for which there is no declaration.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment"></span>  InitializedEntity(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54" title="Specifies the kind of entity being initialized.">EntityKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, SourceLocation Loc, QualType Type,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                     <span class="keywordtype">bool</span> NRVO = <span class="keyword">false</span>)</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     : Kind(Kind), Parent(0), Type(Type)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   {</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     <a class="code" href="classclang_1_1InitializedEntity.html#ad2114923a8ed9a084f3f1a7e77354e05">LocAndNRVO</a>.Location = Loc.getRawEncoding();</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     <a class="code" href="classclang_1_1InitializedEntity.html#ad2114923a8ed9a084f3f1a7e77354e05">LocAndNRVO</a>.NRVO = NRVO;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   }</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> <span class="comment">  /// \brief Create the initialization entity for a member subobject.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment"></span>  InitializedEntity(FieldDecl *Member, <span class="keyword">const</span> InitializedEntity *Parent) </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>     : Kind(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a52120d28f63466d99b8752a2af9e7518" title="The entity being initialized is a non-static data member subobject.">EK_Member</a>), Parent(Parent), Type(Member-><a class="code" href="classclang_1_1InitializedEntity.html#a0e4e50f5a711a099ebea55a6fa577843" title="Retrieve type being initialized.">getType</a>()),</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>       <a class="code" href="classclang_1_1InitializedEntity.html#a7c355826156db38fee7ea89b30eadd44" title="When Kind == EK_Variable, or EK_Member, the VarDecl or FieldDecl, respectively.">VariableOrMember</a>(Member) { }</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment">  /// \brief Create the initialization entity for an array element.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment"></span>  InitializedEntity(ASTContext &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1InitializedEntity.html#aced2a90974d92eb4173146a37406079e" title="When Kind == EK_ArrayElement, EK_VectorElement, or EK_ComplexElement, the index of the array or vecto...">Index</a>, </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>                     <span class="keyword">const</span> InitializedEntity &Parent);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">  /// \brief Create the initialization entity for a lambda capture.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> <span class="comment"></span>  InitializedEntity(IdentifierInfo *VarID, QualType FieldType, SourceLocation Loc)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     : Kind(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aec902c7104d21f6ddc9bf44f67e4e02d" title="The entity being initialized is the field that captures a variable in a lambda.">EK_LambdaCapture</a>), Parent(0), Type(FieldType) </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>     <a class="code" href="classclang_1_1InitializedEntity.html#a3dab50215fbecf1b84c9c82544a8003c">Capture</a>.VarID = VarID;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <a class="code" href="classclang_1_1InitializedEntity.html#a3dab50215fbecf1b84c9c82544a8003c">Capture</a>.Location = Loc.getRawEncoding();</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   }</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  /// \brief Create the initialization entity for a variable.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a8c696ea091b8dc2aec11c0b71426fe9f">  195</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a8c696ea091b8dc2aec11c0b71426fe9f" title="Create the initialization entity for a variable.">InitializeVariable</a>(<a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(Var);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   }</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment"></span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> <span class="comment">  /// \brief Create the initialization entity for a parameter.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#aa5e72e026c95ee7c907147bb2b2e1462">  200</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#aa5e72e026c95ee7c907147bb2b2e1462" title="Create the initialization entity for a parameter.">InitializeParameter</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>                                                <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *Parm) {</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html#aa5e72e026c95ee7c907147bb2b2e1462" title="Create the initialization entity for a parameter.">InitializeParameter</a>(Context, Parm, Parm-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>());</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   }</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> <span class="comment"></span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="comment">  /// \brief Create the initialization entity for a parameter, but use</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">  /// another type.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a53d8d022f8df127b11485ad628fb9c44">  207</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#aa5e72e026c95ee7c907147bb2b2e1462" title="Create the initialization entity for a parameter.">InitializeParameter</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>                                                <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *Parm,</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>                                                <a class="code" href="classclang_1_1QualType.html">QualType</a> Type) {</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>     <span class="keywordtype">bool</span> Consumed = (Context.<a class="code" href="classclang_1_1ASTContext.html#a3faa7b5a5e8d1637c53dea680acca0ff">getLangOpts</a>().ObjCAutoRefCount &&</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>                      Parm-><a class="code" href="classclang_1_1Decl.html#ac60cc8b34313e03a5c40277c5c5ad61b">hasAttr</a><<a class="code" href="classclang_1_1NSConsumedAttr.html">NSConsumedAttr</a>>());</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>     <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> Entity;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>     Entity.Kind = <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ad360dc534dbde54151282f2ec463e437" title="The entity being initialized is a function parameter.">EK_Parameter</a>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>     Entity.Type =</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>       Context.<a class="code" href="classclang_1_1ASTContext.html#a903c5d90d49ea0954ac31a2530de0e31" title="Returns a vla type where known sizes are replaced with [*].">getVariableArrayDecayedType</a>(Type.<a class="code" href="classclang_1_1QualType.html#a5ddbce9d32b4f8043b641584599fe7e5" title="Retrieve the unqualified variant of the given type, removing as little sugar as possible.">getUnqualifiedType</a>());</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     Entity.Parent = 0;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>     Entity.<a class="code" href="classclang_1_1InitializedEntity.html#a03ed35b0372a33bcf8b43a67ab5b536d" title="When Kind == EK_Parameter, the ParmVarDecl, with the low bit indicating whether the parameter is "con...">Parameter</a></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>       = (<span class="keyword">static_cast<</span>uintptr_t<span class="keyword">></span>(Consumed) | reinterpret_cast<uintptr_t>(Parm));</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <span class="keywordflow">return</span> Entity;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   }</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment"></span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> <span class="comment">  /// \brief Create the initialization entity for a parameter that is</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> <span class="comment">  /// only known by its type.</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a3e1cc935fe52140e96c7e83a4bbc6198">  225</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#aa5e72e026c95ee7c907147bb2b2e1462" title="Create the initialization entity for a parameter.">InitializeParameter</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>                                                <a class="code" href="classclang_1_1QualType.html">QualType</a> Type,</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>                                                <span class="keywordtype">bool</span> Consumed) {</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> Entity;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     Entity.Kind = <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ad360dc534dbde54151282f2ec463e437" title="The entity being initialized is a function parameter.">EK_Parameter</a>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>     Entity.Type = Context.<a class="code" href="classclang_1_1ASTContext.html#a903c5d90d49ea0954ac31a2530de0e31" title="Returns a vla type where known sizes are replaced with [*].">getVariableArrayDecayedType</a>(Type);</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>     Entity.Parent = 0;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>     Entity.<a class="code" href="classclang_1_1InitializedEntity.html#a03ed35b0372a33bcf8b43a67ab5b536d" title="When Kind == EK_Parameter, the ParmVarDecl, with the low bit indicating whether the parameter is "con...">Parameter</a> = (Consumed);</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>     <span class="keywordflow">return</span> Entity;</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">  /// \brief Create the initialization entity for the result of a function.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a9b1551ab470ed6ec9768417f48d89e76">  237</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a9b1551ab470ed6ec9768417f48d89e76" title="Create the initialization entity for the result of a function.">InitializeResult</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> ReturnLoc,</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>                                             <a class="code" href="classclang_1_1QualType.html">QualType</a> Type, <span class="keywordtype">bool</span> NRVO) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6f2be4544543917c1137af65688538d4" title="The entity being initialized is the result of a function call.">EK_Result</a>, ReturnLoc, Type, NRVO);</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   }</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a928b28ff9c4c0e29d86ab84833925010">  242</a></span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a928b28ff9c4c0e29d86ab84833925010">InitializeBlock</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> BlockVarLoc,</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>                                            <a class="code" href="classclang_1_1QualType.html">QualType</a> Type, <span class="keywordtype">bool</span> NRVO) {</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a18df1df21b14395f06b201b654f57191" title="The entity being initialized is a field of block descriptor for the copied-in c++ object...">EK_BlockElement</a>, BlockVarLoc, Type, NRVO);</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   }</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="comment">  /// \brief Create the initialization entity for an exception object.</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a889de2de2341bf7024a6b1451b661215">  248</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a889de2de2341bf7024a6b1451b661215" title="Create the initialization entity for an exception object.">InitializeException</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> ThrowLoc,</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>                                                <a class="code" href="classclang_1_1QualType.html">QualType</a> Type, <span class="keywordtype">bool</span> NRVO) {</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aeda0889414ec18780d68cd1acd7697c1" title="The entity being initialized is an exception object that is being thrown.">EK_Exception</a>, ThrowLoc, Type, NRVO);</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   }</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> <span class="comment"></span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment">  /// \brief Create the initialization entity for an object allocated via new.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a884119f484bf41f1a14edcf4f844b2f4">  254</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a884119f484bf41f1a14edcf4f844b2f4" title="Create the initialization entity for an object allocated via new.">InitializeNew</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> NewLoc, <a class="code" href="classclang_1_1QualType.html">QualType</a> Type) {</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ab266239bb5435109228d42e7006b61d6" title="The entity being initialized is an object (or array of objects) allocated via new.">EK_New</a>, NewLoc, Type);</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   }</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> <span class="comment">  /// \brief Create the initialization entity for a temporary.</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a4898b194ad60ddb5d0293dd57e730d3f">  259</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a4898b194ad60ddb5d0293dd57e730d3f" title="Create the initialization entity for a temporary.">InitializeTemporary</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Type) {</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> Result(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a074c57b0bb1fef4388625e60246a2d0e" title="The entity being initialized is a temporary object.">EK_Temporary</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), Type);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     Result.<a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1" title="When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary...">TypeInfo</a> = 0;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <span class="keywordflow">return</span> Result;</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 Create the initialization entity for a temporary.</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a064b2b8aa62fdfee832ef306a820a5dd">  266</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a064b2b8aa62fdfee832ef306a820a5dd" title="Create the initialization entity for a temporary.">InitializeTemporary</a>(<a class="code" href="classclang_1_1TypeSourceInfo.html" title="A container of type source information.">TypeSourceInfo</a> *<a class="code" href="structTypeInfo.html">TypeInfo</a>) {</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>     <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> Result(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a074c57b0bb1fef4388625e60246a2d0e" title="The entity being initialized is a temporary object.">EK_Temporary</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>                              TypeInfo-><a class="code" href="classclang_1_1TypeSourceInfo.html#affbab53588a16a2bc948f2493d93a4e2" title="Return the type wrapped by this type source info.">getType</a>());</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>     Result.<a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1" title="When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary...">TypeInfo</a> = <a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1" title="When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary...">TypeInfo</a>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>     <span class="keywordflow">return</span> Result;</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>   <span class="comment"></span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment">  /// \brief Create the initialization entity for a related result.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a1986403ce8b40bf465e73c1c5737dcab">  274</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a1986403ce8b40bf465e73c1c5737dcab" title="Create the initialization entity for a related result.">InitializeRelatedResult</a>(<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *MD,</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>                                                    <a class="code" href="classclang_1_1QualType.html">QualType</a> Type) {</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>     <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> Result(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54af9fae1e9b6d6ff1fed5a973f32bff298" title="The entity being implicitly initialized back to the formal result type.">EK_RelatedResult</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), Type);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     Result.<a class="code" href="classclang_1_1InitializedEntity.html#ae7b70b546e6bfce62e6f6b496c4abf14" title="When Kind == EK_RelatedResult, the ObjectiveC method where result type was implicitly changed to acco...">MethodDecl</a> = MD;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     <span class="keywordflow">return</span> Result;</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> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> <span class="comment"></span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> <span class="comment">  /// \brief Create the initialization entity for a base class subobject.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#ad78677b06fa34feb3e50a1f081116c7b" title="Create the initialization entity for a base class subobject.">InitializeBase</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</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>,</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>                                           <span class="keywordtype">bool</span> IsInheritedVirtualBase);</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">  /// \brief Create the initialization entity for a delegated constructor.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ac881061a758028deeb87894b67c46619">  288</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#ac881061a758028deeb87894b67c46619" title="Create the initialization entity for a delegated constructor.">InitializeDelegation</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Type) {</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54adbc2d5f1e9744d1e02b76e2644dd2ef8" title="The initialization is being done by a delegating constructor.">EK_Delegating</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), Type);</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>   <span class="comment"></span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> <span class="comment">  /// \brief Create the initialization entity for a member subobject.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#abaad933a3436855b082dca1cca8961cc">  293</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#abaad933a3436855b082dca1cca8961cc" title="Create the initialization entity for a member subobject.">InitializeMember</a>(<a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *Member,</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>                                           <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> *Parent = 0) {</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(Member, Parent);</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"></span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> <span class="comment">  /// \brief Create the initialization entity for a member subobject.</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ab629cf970ecbb7980fe3f08a9ea2f6ac">  299</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#abaad933a3436855b082dca1cca8961cc" title="Create the initialization entity for a member subobject.">InitializeMember</a>(<a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a> *Member,</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> *Parent = 0) {</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(Member-><a class="code" href="classclang_1_1IndirectFieldDecl.html#a26d7f81313f74af1a65f8d08cf53b337">getAnonField</a>(), Parent);</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   }</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> <span class="comment"></span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> <span class="comment">  /// \brief Create the initialization entity for an array element.</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a5e9a47f756a63c655823569b404e8c07">  305</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#a5e9a47f756a63c655823569b404e8c07" title="Create the initialization entity for an array element.">InitializeElement</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>                                              <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1InitializedEntity.html#aced2a90974d92eb4173146a37406079e" title="When Kind == EK_ArrayElement, EK_VectorElement, or EK_ComplexElement, the index of the array or vecto...">Index</a>, </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>                                              <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> &Parent) {</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(Context, Index, Parent);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>   }</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="comment"></span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> <span class="comment">  /// \brief Create the initialization entity for a lambda capture.</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#aa86e9c6f743c07a99422774775b5fa3f">  312</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#aa86e9c6f743c07a99422774775b5fa3f" title="Create the initialization entity for a lambda capture.">InitializeLambdaCapture</a>(<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *VarID,</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>                                                    <a class="code" href="classclang_1_1QualType.html">QualType</a> FieldType,</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>                                                    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a>(VarID, FieldType, Loc);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> <span class="comment">  /// \brief Create the entity for a compound literal initializer.</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ad17b4e0c74ec3cc0f015362a47a9e654">  319</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> <a class="code" href="classclang_1_1InitializedEntity.html#ad17b4e0c74ec3cc0f015362a47a9e654" title="Create the entity for a compound literal initializer.">InitializeCompoundLiteralInit</a>(<a class="code" href="classclang_1_1TypeSourceInfo.html" title="A container of type source information.">TypeSourceInfo</a> *TSI) {</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>     <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> Result(<a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54acf0ad1ce890f86d62db958c689369c76" title="The entity being initialized is the initializer for a compound literal.">EK_CompoundLiteralInit</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>                              TSI-><a class="code" href="classclang_1_1TypeSourceInfo.html#affbab53588a16a2bc948f2493d93a4e2" title="Return the type wrapped by this type source info.">getType</a>());</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>     Result.<a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1" title="When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary...">TypeInfo</a> = TSI;</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     <span class="keywordflow">return</span> Result;</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> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="comment"></span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="comment">  /// \brief Determine the kind of initialization.</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908">  328</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54" title="Specifies the kind of entity being initialized.">EntityKind</a> <a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>; }</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> <span class="comment">  /// \brief Retrieve the parent of the entity being initialized, when</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> <span class="comment">  /// the initialization itself is occurring within the context of a</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> <span class="comment">  /// larger initialization.</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a703cd29e7145795c8564c212b4885196">  333</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> *<a class="code" href="classclang_1_1InitializedEntity.html#a703cd29e7145795c8564c212b4885196" title="Retrieve the parent of the entity being initialized, when the initialization itself is occurring with...">getParent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Parent; }</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="comment"></span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> <span class="comment">  /// \brief Retrieve type being initialized.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a0e4e50f5a711a099ebea55a6fa577843">  336</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1InitializedEntity.html#a0e4e50f5a711a099ebea55a6fa577843" title="Retrieve type being initialized.">getType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Type; }</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">  /// \brief Retrieve complete type-source information for the object being </span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> <span class="comment">  /// constructed, if known.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a0aa29b0c70cd4952aa82ed715b11dfd5">  340</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1TypeSourceInfo.html" title="A container of type source information.">TypeSourceInfo</a> *<a class="code" href="classclang_1_1InitializedEntity.html#a0aa29b0c70cd4952aa82ed715b11dfd5" title="Retrieve complete type-source information for the object being constructed, if known.">getTypeSourceInfo</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <span class="keywordflow">if</span> (Kind == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a074c57b0bb1fef4388625e60246a2d0e" title="The entity being initialized is a temporary object.">EK_Temporary</a> || Kind == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54acf0ad1ce890f86d62db958c689369c76" title="The entity being initialized is the initializer for a compound literal.">EK_CompoundLiteralInit</a>)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html#a5b234f07702625634e3f53a6b1a3b3d1" title="When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary...">TypeInfo</a>;</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>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   }</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> <span class="comment">  /// \brief Retrieve the name of the entity being initialized.</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> <span class="comment"></span>  <a class="code" href="classclang_1_1DeclarationName.html">DeclarationName</a> <a class="code" href="classclang_1_1InitializedEntity.html#a6ff0d9b28ddbebf299dc98af04a644a3" title="Retrieve the name of the entity being initialized.">getName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> <span class="comment"></span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> <span class="comment">  /// \brief Retrieve the variable, parameter, or field being</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> <span class="comment">  /// initialized.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> <span class="comment"></span>  <a class="code" href="classclang_1_1DeclaratorDecl.html" title="Represents a ValueDecl that came out of a declarator. Contains type source information through TypeSo...">DeclaratorDecl</a> *<a class="code" href="classclang_1_1InitializedEntity.html#a612d72ea3c50c222159473b73a994e12" title="Retrieve the variable, parameter, or field being initialized.">getDecl</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> <span class="comment">  /// \brief Retrieve the ObjectiveC method being initialized.</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#aa48a98ea3781c33b5d698ecb4a516bf2">  355</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *<a class="code" href="classclang_1_1InitializedEntity.html#aa48a98ea3781c33b5d698ecb4a516bf2" title="Retrieve the ObjectiveC method being initialized.">getMethodDecl</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html#ae7b70b546e6bfce62e6f6b496c4abf14" title="When Kind == EK_RelatedResult, the ObjectiveC method where result type was implicitly changed to acco...">MethodDecl</a>; }</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="comment"></span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> <span class="comment">  /// \brief Determine whether this initialization allows the named return </span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> <span class="comment">  /// value optimization, which also applies to thrown objects.</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializedEntity.html#a5fcc3f9bc4fa95623a0aa04585f7df16" title="Determine whether this initialization allows the named return value optimization, which also applies ...">allowsNRVO</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#ac1e0e819f13113f2cbdc7cc6270054c2">  361</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializedEntity.html#ac1e0e819f13113f2cbdc7cc6270054c2">isParameterKind</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>     <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ad360dc534dbde54151282f2ec463e437" title="The entity being initialized is a function parameter.">EK_Parameter</a>  ||</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>             <a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a42d228120494b3cb2ce0421f7638491f" title="The entity being initialized is a function parameter; function is member of group of audited CF APIs...">EK_Parameter_CF_Audited</a>);</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>   }<span class="comment"></span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> <span class="comment">  /// \brief Determine whether this initialization consumes the</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> <span class="comment">  /// parameter.</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#aae57c1a1e15536433467a17042418e4f">  367</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializedEntity.html#aae57c1a1e15536433467a17042418e4f" title="Determine whether this initialization consumes the parameter.">isParameterConsumed</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#ac1e0e819f13113f2cbdc7cc6270054c2">isParameterKind</a>() && <span class="stringliteral">"Not a parameter"</span>);</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>     <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1InitializedEntity.html#a03ed35b0372a33bcf8b43a67ab5b536d" title="When Kind == EK_Parameter, the ParmVarDecl, with the low bit indicating whether the parameter is "con...">Parameter</a> & 1);</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   }</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>                                   <span class="comment"></span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> <span class="comment">  /// \brief Retrieve the base specifier.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a5b7fde400b14c022e3a866a0a1b5ba37">  373</a></span> <span class="comment"></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_1InitializedEntity.html#a5b7fde400b14c022e3a866a0a1b5ba37" title="Retrieve the base specifier.">getBaseSpecifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6cba27054e99332c312fda265a3ef4b5" title="The entity being initialized is a base member subobject.">EK_Base</a> && <span class="stringliteral">"Not a base specifier"</span>);</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</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> *<span class="keyword">></span>(<a class="code" href="classclang_1_1Base.html">Base</a> & ~0x1);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment">  /// \brief Return whether the base is an inherited virtual base.</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a40a14392fd01566768fbaef66e778334">  379</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializedEntity.html#a40a14392fd01566768fbaef66e778334" title="Return whether the base is an inherited virtual base.">isInheritedVirtualBase</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6cba27054e99332c312fda265a3ef4b5" title="The entity being initialized is a base member subobject.">EK_Base</a> && <span class="stringliteral">"Not a base specifier"</span>);</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Base.html">Base</a> & 0x1;</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>   }</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> <span class="comment"></span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> <span class="comment">  /// \brief Determine the location of the 'return' keyword when initializing</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="comment">  /// the result of a function call.</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#aa6946871742d1a3d94ad3c032378aa47">  386</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1InitializedEntity.html#aa6946871742d1a3d94ad3c032378aa47" title="Determine the location of the 'return' keyword when initializing the result of a function call...">getReturnLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a6f2be4544543917c1137af65688538d4" title="The entity being initialized is the result of a function call.">EK_Result</a> && <span class="stringliteral">"No 'return' location!"</span>);</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ad2114923a8ed9a084f3f1a7e77354e05">LocAndNRVO</a>.Location);</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="comment"></span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> <span class="comment">  /// \brief Determine the location of the 'throw' keyword when initializing</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="comment">  /// an exception object.</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a647bb8972736b2e841c5e38bc1808781">  393</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1InitializedEntity.html#a647bb8972736b2e841c5e38bc1808781" title="Determine the location of the 'throw' keyword when initializing an exception object.">getThrowLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aeda0889414ec18780d68cd1acd7697c1" title="The entity being initialized is an exception object that is being thrown.">EK_Exception</a> && <span class="stringliteral">"No 'throw' location!"</span>);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="classclang_1_1InitializedEntity.html#ad2114923a8ed9a084f3f1a7e77354e05">LocAndNRVO</a>.Location);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> <span class="comment">  /// \brief If this is already the initializer for an array or vector</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> <span class="comment">  /// element, sets the element index.</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a7a60eb1081934fd72dcaf830b9e05d38">  400</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializedEntity.html#a7a60eb1081934fd72dcaf830b9e05d38" title="If this is already the initializer for an array or vector element, sets the element index...">setElementIndex</a>(<span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1InitializedEntity.html#aced2a90974d92eb4173146a37406079e" title="When Kind == EK_ArrayElement, EK_VectorElement, or EK_ComplexElement, the index of the array or vecto...">Index</a>) {</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ae93df264642b0877b845dce85ae4f0cf" title="The entity being initialized is an element of an array.">EK_ArrayElement</a> || <a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a9eb5e8ee681640b1fc04be0ab9ee4569" title="The entity being initialized is an element of a vector. or vector.">EK_VectorElement</a> ||</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>            <a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54ae03b769f3a227909d6ee887b909631d6" title="The entity being initialized is the real or imaginary part of a complex number.">EK_ComplexElement</a>);</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>     this->Index = <a class="code" href="classclang_1_1InitializedEntity.html#aced2a90974d92eb4173146a37406079e" title="When Kind == EK_ArrayElement, EK_VectorElement, or EK_ComplexElement, the index of the array or vecto...">Index</a>;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>   }<span class="comment"></span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> <span class="comment">  /// \brief For a lambda capture, return the capture's name.</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a4eee1cd0d58dada7d530fec615d2bd95">  406</a></span> <span class="comment"></span>  StringRef <a class="code" href="classclang_1_1InitializedEntity.html#a4eee1cd0d58dada7d530fec615d2bd95" title="For a lambda capture, return the capture's name.">getCapturedVarName</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aec902c7104d21f6ddc9bf44f67e4e02d" title="The entity being initialized is the field that captures a variable in a lambda.">EK_LambdaCapture</a> && <span class="stringliteral">"Not a lambda capture!"</span>);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializedEntity.html#a3dab50215fbecf1b84c9c82544a8003c">Capture</a>.VarID->getName();</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   }<span class="comment"></span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> <span class="comment">  /// \brief Determine the location of the capture when initializing</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> <span class="comment">  /// field from a captured variable in a lambda.</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a068b971708abe9eabefde00f0dd2ec47">  412</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1InitializedEntity.html#a068b971708abe9eabefde00f0dd2ec47" title="Determine the location of the capture when initializing field from a captured variable in a lambda...">getCaptureLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     assert(<a class="code" href="classclang_1_1InitializedEntity.html#a22f327e1c51a6322f89ceaef6be71908" title="Determine the kind of initialization.">getKind</a>() == <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54aec902c7104d21f6ddc9bf44f67e4e02d" title="The entity being initialized is the field that captures a variable in a lambda.">EK_LambdaCapture</a> && <span class="stringliteral">"Not a lambda capture!"</span>);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="classclang_1_1InitializedEntity.html#a3dab50215fbecf1b84c9c82544a8003c">Capture</a>.Location);</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>   </div>
+<div class="line"><a name="l00417"></a><span class="lineno"><a class="code" href="classclang_1_1InitializedEntity.html#a25a2909b6513e6218b9a3db420af61ff">  417</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializedEntity.html#a25a2909b6513e6218b9a3db420af61ff">setParameterCFAudited</a>() {</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     Kind = <a class="code" href="classclang_1_1InitializedEntity.html#ab50f80a7374ec5d295267531336bbf54a42d228120494b3cb2ce0421f7638491f" title="The entity being initialized is a function parameter; function is member of group of audited CF APIs...">EK_Parameter_CF_Audited</a>;</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   }</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment"></span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">  /// Dump a representation of the initialized entity to standard error,</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment">  /// for debugging purposes.</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializedEntity.html#a9fc77fd7be3e5d4a8845fed816375909">dump</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <span class="keywordtype">unsigned</span> dumpImpl(raw_ostream &OS) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> };</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> <span class="comment">/// \brief Describes the kind of initialization being performed, along with </span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> <span class="comment">/// location information for tokens related to the initialization (equal sign,</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> <span class="comment">/// parentheses).</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html">  432</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> {</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="comment">  /// \brief The kind of initialization being performed.</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8">  435</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8" title="The kind of initialization being performed.">InitKind</a> {</div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab">  436</a></span>     <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab" title="Direct initialization.">IK_Direct</a>,       <span class="comment">///< Direct initialization</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a20b114ce062d310a9981d79fdbc0438a">  437</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a20b114ce062d310a9981d79fdbc0438a" title="Direct list-initialization.">IK_DirectList</a>,   <span class="comment">///< Direct list-initialization</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8adcd5738e1ca0f95ca2025f3a0d7a6917">  438</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8adcd5738e1ca0f95ca2025f3a0d7a6917" title="Copy initialization.">IK_Copy</a>,         <span class="comment">///< Copy initialization</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8ae6c560fc0b07cc330885416b1122aa6e">  439</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8ae6c560fc0b07cc330885416b1122aa6e" title="Default initialization.">IK_Default</a>,      <span class="comment">///< Default initialization</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6bdac97725a3e5eb4b49f4c6cee08648">  440</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6bdac97725a3e5eb4b49f4c6cee08648" title="Value initialization.">IK_Value</a>         <span class="comment">///< Value initialization</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> <span class="comment"></span>  };</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> <span class="comment">  /// \brief The context of the initialization.</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> <span class="comment"></span>  <span class="keyword">enum</span> InitContext {</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     IC_Normal,         <span class="comment">///< Normal context</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> <span class="comment"></span>    IC_ExplicitConvs,  <span class="comment">///< Normal context, but allows explicit conversion funcs</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> <span class="comment"></span>    IC_Implicit,       <span class="comment">///< Implicit context (value initialization)</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> <span class="comment"></span>    IC_StaticCast,     <span class="comment">///< Static cast context</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> <span class="comment"></span>    IC_CStyleCast,     <span class="comment">///< C-style cast context</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> <span class="comment"></span>    IC_FunctionalCast  <span class="comment">///< Functional cast context</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="comment"></span>  };</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> <span class="comment">  /// \brief The kind of initialization being performed.</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8" title="The kind of initialization being performed.">InitKind</a> Kind : 8;</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> <span class="comment"></span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> <span class="comment">  /// \brief The context of the initialization.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> <span class="comment"></span>  InitContext Context : 8;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> <span class="comment">  /// \brief The source locations involved in the initialization.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> <span class="comment"></span>  SourceLocation Locations[3];</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>   InitializationKind(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8" title="The kind of initialization being performed.">InitKind</a> Kind, InitContext Context, SourceLocation Loc1, </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>                      SourceLocation Loc2, SourceLocation Loc3)</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     : Kind(Kind), Context(Context)</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>     Locations[0] = Loc1;</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>     Locations[1] = Loc2;</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>     Locations[2] = Loc3;</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="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> <span class="comment">  /// \brief Create a direct initialization.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a73fda22700f3b3b47f0d6dc72aee73d1">  474</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#a73fda22700f3b3b47f0d6dc72aee73d1" title="Create a direct initialization.">CreateDirect</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InitLoc,</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>                                          <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> LParenLoc,</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>                                          <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> RParenLoc) {</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab" title="Direct initialization.">IK_Direct</a>, IC_Normal,</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>                               InitLoc, LParenLoc, RParenLoc);</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> </div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#ababb0f1fa3e83ec76b5924cd6e300573">  481</a></span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#ababb0f1fa3e83ec76b5924cd6e300573">CreateDirectList</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InitLoc) {</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a20b114ce062d310a9981d79fdbc0438a" title="Direct list-initialization.">IK_DirectList</a>, IC_Normal,</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>                               InitLoc, InitLoc, InitLoc);</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="comment"></span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> <span class="comment">  /// \brief Create a direct initialization due to a cast that isn't a C-style </span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> <span class="comment">  /// or functional cast.</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a11d3954cc594e7985db9f7c59384d4e0">  488</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#a11d3954cc594e7985db9f7c59384d4e0" title="Create a direct initialization due to a cast that isn't a C-style or functional cast.">CreateCast</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> TypeRange) {</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab" title="Direct initialization.">IK_Direct</a>, IC_StaticCast, TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(),</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>                               TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>());</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   }</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> <span class="comment">  /// \brief Create a direct initialization for a C-style cast.</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#aff7694567a9a9b7020f325f9b0d0629f">  494</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#aff7694567a9a9b7020f325f9b0d0629f" title="Create a direct initialization for a C-style cast.">CreateCStyleCast</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> StartLoc,</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>                                              <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> TypeRange,</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>                                              <span class="keywordtype">bool</span> InitList) {</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     <span class="comment">// C++ cast syntax doesn't permit init lists, but C compound literals are</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     <span class="comment">// exactly that.</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(InitList ? <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a20b114ce062d310a9981d79fdbc0438a" title="Direct list-initialization.">IK_DirectList</a> : <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab" title="Direct initialization.">IK_Direct</a>,</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>                               IC_CStyleCast, StartLoc, TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(),</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>                               TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>());</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"></span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> <span class="comment">  /// \brief Create a direct initialization for a functional cast.</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#af725f97566cac17725b61fa823342f06">  505</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#af725f97566cac17725b61fa823342f06" title="Create a direct initialization for a functional cast.">CreateFunctionalCast</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> TypeRange,</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>                                                  <span class="keywordtype">bool</span> InitList) {</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(InitList ? <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a20b114ce062d310a9981d79fdbc0438a" title="Direct list-initialization.">IK_DirectList</a> : <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab" title="Direct initialization.">IK_Direct</a>,</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>                               IC_FunctionalCast, TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(),</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>                               TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), TypeRange.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>());</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> <span class="comment"></span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> <span class="comment">  /// \brief Create a copy initialization.</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#aba2394b947c8e0a6bcc025ce89e1f0c4">  513</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#aba2394b947c8e0a6bcc025ce89e1f0c4" title="Create a copy initialization.">CreateCopy</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InitLoc,</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>                                        <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EqualLoc,</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>                                        <span class="keywordtype">bool</span> AllowExplicitConvs = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8adcd5738e1ca0f95ca2025f3a0d7a6917" title="Copy initialization.">IK_Copy</a>, </div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>                               AllowExplicitConvs? IC_ExplicitConvs : IC_Normal,</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>                               InitLoc, EqualLoc, EqualLoc);</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="comment"></span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> <span class="comment">  /// \brief Create a default initialization.</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a2f9bdbfa1ece4baf185279c78d60ab4a">  522</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#a2f9bdbfa1ece4baf185279c78d60ab4a" title="Create a default initialization.">CreateDefault</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InitLoc) {</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8ae6c560fc0b07cc330885416b1122aa6e" title="Default initialization.">IK_Default</a>, IC_Normal, InitLoc, InitLoc, InitLoc);</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>   <span class="comment"></span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> <span class="comment">  /// \brief Create a value initialization.</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#af526bb57c5ba19fd82f93a4d8da1573b">  527</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> <a class="code" href="classclang_1_1InitializationKind.html#af526bb57c5ba19fd82f93a4d8da1573b" title="Create a value initialization.">CreateValue</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InitLoc,</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>                                         <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> LParenLoc,</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>                                         <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> RParenLoc,</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>                                         <span class="keywordtype">bool</span> isImplicit = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a>(<a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6bdac97725a3e5eb4b49f4c6cee08648" title="Value initialization.">IK_Value</a>, isImplicit ? IC_Implicit : IC_Normal,</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>                               InitLoc, LParenLoc, RParenLoc);</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   }</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> <span class="comment">  /// \brief Determine the initialization kind.</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#ac427022260d4ab6f2ef3b5f57a083076">  536</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8" title="The kind of initialization being performed.">InitKind</a> <a class="code" href="classclang_1_1InitializationKind.html#ac427022260d4ab6f2ef3b5f57a083076" title="Determine the initialization kind.">getKind</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>     <span class="keywordflow">return</span> Kind;</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="comment"></span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> <span class="comment">  /// \brief Determine whether this initialization is an explicit cast.</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a6a60b9c14472acde6e9cf253453ff91b">  541</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#a6a60b9c14472acde6e9cf253453ff91b" title="Determine whether this initialization is an explicit cast.">isExplicitCast</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>     <span class="keywordflow">return</span> Context >= IC_StaticCast;</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>   }</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span> <span class="comment">  /// \brief Determine whether this initialization is a C-style cast.</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#ae49b85f530201e4c03925d3bc125f17b">  546</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#ae49b85f530201e4c03925d3bc125f17b" title="Determine whether this initialization is a C-style cast.">isCStyleOrFunctionalCast</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>     <span class="keywordflow">return</span> Context >= IC_CStyleCast; </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> <span class="comment"></span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> <span class="comment">  /// \brief Determine whether this is a C-style cast.</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a6d0d5d80a950069bc684b8f733936d70">  551</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#a6d0d5d80a950069bc684b8f733936d70" title="Determine whether this is a C-style cast.">isCStyleCast</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>     <span class="keywordflow">return</span> Context == IC_CStyleCast;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> <span class="comment">  /// \brief Determine whether this is a functional-style cast.</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#ae0171358816724477c1775dfb1650168">  556</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#ae0171358816724477c1775dfb1650168" title="Determine whether this is a functional-style cast.">isFunctionalCast</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>     <span class="keywordflow">return</span> Context == IC_FunctionalCast;</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"></span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> <span class="comment">  /// \brief Determine whether this initialization is an implicit</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> <span class="comment">  /// value-initialization, e.g., as occurs during aggregate</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> <span class="comment">  /// initialization.</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a70886e84818b5db91673bcced99961ce">  563</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#a70886e84818b5db91673bcced99961ce" title="Determine whether this initialization is an implicit value-initialization, e.g., as occurs during agg...">isImplicitValueInit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Context == IC_Implicit; }</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> <span class="comment"></span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> <span class="comment">  /// \brief Retrieve the location at which initialization is occurring.</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a7a69dd5cd1cd248bb049b57244e7a20d">  566</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1InitializationKind.html#a7a69dd5cd1cd248bb049b57244e7a20d" title="Retrieve the location at which initialization is occurring.">getLocation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Locations[0]; }</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> <span class="comment">  /// \brief Retrieve the source range that covers the initialization.</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a205fff65bd70b9ccacf9ce14dfac6506">  569</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1InitializationKind.html#a205fff65bd70b9ccacf9ce14dfac6506" title="Retrieve the source range that covers the initialization.">getRange</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Locations[0], Locations[2]);</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>   }</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> <span class="comment">  /// \brief Retrieve the location of the equal sign for copy initialization</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> <span class="comment">  /// (if present).</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a6da50a5d1c63cec9bff817b5b831997a">  575</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1InitializationKind.html#a6da50a5d1c63cec9bff817b5b831997a" title="Retrieve the location of the equal sign for copy initialization (if present).">getEqualLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>     assert(Kind == <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8adcd5738e1ca0f95ca2025f3a0d7a6917" title="Copy initialization.">IK_Copy</a> && <span class="stringliteral">"Only copy initialization has an '='"</span>);</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>     <span class="keywordflow">return</span> Locations[1];</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"><a class="code" href="classclang_1_1InitializationKind.html#ac92f2ca613df29898e400ed11314fb6e">  580</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#ac92f2ca613df29898e400ed11314fb6e">isCopyInit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Kind == <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8adcd5738e1ca0f95ca2025f3a0d7a6917" title="Copy initialization.">IK_Copy</a>; }</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> <span class="comment"></span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> <span class="comment">  /// \brief Retrieve whether this initialization allows the use of explicit</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> <span class="comment">  ///        constructors.</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#ab23e149dd729c4dbfe373ef308bd795e">  584</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#ab23e149dd729c4dbfe373ef308bd795e" title="Retrieve whether this initialization allows the use of explicit constructors.">AllowExplicit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1InitializationKind.html#ac92f2ca613df29898e400ed11314fb6e">isCopyInit</a>(); }</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="comment"></span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> <span class="comment">  /// \brief Retrieve whether this initialization allows the use of explicit</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> <span class="comment">  /// conversion functions when binding a reference. If the reference is the</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> <span class="comment">  /// first parameter in a copy or move constructor, such conversions are</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> <span class="comment">  /// permitted even though we are performing copy-initialization.</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a2d8999640314b9eba5442180fee26ff6">  590</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationKind.html#a2d8999640314b9eba5442180fee26ff6" title="Retrieve whether this initialization allows the use of explicit conversion functions when binding a r...">allowExplicitConversionFunctionsInRefBinding</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>     <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1InitializationKind.html#ac92f2ca613df29898e400ed11314fb6e">isCopyInit</a>() || Context == IC_ExplicitConvs;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>   }</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span> <span class="comment">  /// \brief Retrieve the source range containing the locations of the open</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> <span class="comment">  /// and closing parentheses for value and direct initializations.</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationKind.html#a24f7298c0d0b889c31fc6df37aba22c9">  596</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1InitializationKind.html#a24f7298c0d0b889c31fc6df37aba22c9" title="Retrieve the source range containing the locations of the open and closing parentheses for value and ...">getParenRange</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>     assert((Kind == <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6e2471401bb8a80ff2e1532a3d6000ab" title="Direct initialization.">IK_Direct</a> || Kind == <a class="code" href="classclang_1_1InitializationKind.html#a15911670bbe7baf3eac6056ed6b66ac8a6bdac97725a3e5eb4b49f4c6cee08648" title="Value initialization.">IK_Value</a>) &&</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>            <span class="stringliteral">"Only direct- and value-initialization have parentheses"</span>);</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Locations[1], Locations[2]);</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="comment"></span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> <span class="comment">/// \brief Describes the sequence of initializations required to initialize</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> <span class="comment">/// a given object or reference with a set of arguments.</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html">  605</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1InitializationSequence.html" title="Describes the sequence of initializations required to initialize a given object or reference with a s...">InitializationSequence</a> {</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> <span class="comment">  /// \brief Describes the kind of initialization sequence computed.</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc">  608</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> <span class="comment">    /// \brief A failed initialization sequence. The failure kind tells what</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span> <span class="comment">    /// happened.</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcca3cf5b85304abb163f5d2dc0025a2b3de">  611</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcca3cf5b85304abb163f5d2dc0025a2b3de" title="A failed initialization sequence. The failure kind tells what happened.">FailedSequence</a> = 0,</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span> <span class="comment"></span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span> <span class="comment">    /// \brief A dependent initialization, which could not be</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span> <span class="comment">    /// type-checked due to the presence of dependent types or</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span> <span class="comment">    /// dependently-typed expressions.</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fccae7e7b7a1ac3036698ac402471ace5d16">  616</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fccae7e7b7a1ac3036698ac402471ace5d16" title="A dependent initialization, which could not be type-checked due to the presence of dependent types or...">DependentSequence</a>,</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> <span class="comment"></span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> <span class="comment">    /// \brief A normal sequence.</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcca2c9cfc25d52b1aa9185545402ad27e3d">  619</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcca2c9cfc25d52b1aa9185545402ad27e3d" title="A normal sequence.">NormalSequence</a></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>   };</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span> <span class="comment">  /// \brief Describes the kind of a particular step in an initialization</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span> <span class="comment">  /// sequence.</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43">  624</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43" title="Describes the kind of a particular step in an initialization sequence.">StepKind</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> <span class="comment">    /// \brief Resolve the address of an overloaded function to a specific</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span> <span class="comment">    /// function declaration.</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43acf8a6a565c37e10e4087eb706f7193eb">  627</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43acf8a6a565c37e10e4087eb706f7193eb" title="Resolve the address of an overloaded function to a specific function declaration.">SK_ResolveAddressOfOverloadedFunction</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span> <span class="comment">    /// \brief Perform a derived-to-base cast, producing an rvalue.</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a14c3b7adb872aab076143085daf591c1">  629</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a14c3b7adb872aab076143085daf591c1" title="Perform a derived-to-base cast, producing an rvalue.">SK_CastDerivedToBaseRValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span> <span class="comment">    /// \brief Perform a derived-to-base cast, producing an xvalue.</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a67bfaa50a94804176d971aec810fffc3">  631</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a67bfaa50a94804176d971aec810fffc3" title="Perform a derived-to-base cast, producing an xvalue.">SK_CastDerivedToBaseXValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span> <span class="comment">    /// \brief Perform a derived-to-base cast, producing an lvalue.</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a2c4419e6800f5f60ebc7fdcd1b8951f5">  633</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a2c4419e6800f5f60ebc7fdcd1b8951f5" title="Perform a derived-to-base cast, producing an lvalue.">SK_CastDerivedToBaseLValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span> <span class="comment">    /// \brief Reference binding to an lvalue.</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a4608fabe58bea351de531475882ebc46">  635</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a4608fabe58bea351de531475882ebc46" title="Reference binding to an lvalue.">SK_BindReference</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span> <span class="comment">    /// \brief Reference binding to a temporary.</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a7bb3ecdc11ac0c403ebbcf965547f978">  637</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a7bb3ecdc11ac0c403ebbcf965547f978" title="Reference binding to a temporary.">SK_BindReferenceToTemporary</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span> <span class="comment">    /// \brief An optional copy of a temporary object to another</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> <span class="comment">    /// temporary object, which is permitted (but not required) by</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> <span class="comment">    /// C++98/03 but not C++0x.</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab50f97d2870d1e79a0611bf45e7d895b">  641</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab50f97d2870d1e79a0611bf45e7d895b" title="An optional copy of a temporary object to another temporary object, which is permitted (but not requi...">SK_ExtraneousCopyToTemporary</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span> <span class="comment">    /// \brief Perform a user-defined conversion, either via a conversion</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> <span class="comment">    /// function or via a constructor.</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a6a5d1425e317885c91712cb8ee3b79f5">  644</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a6a5d1425e317885c91712cb8ee3b79f5" title="Perform a user-defined conversion, either via a conversion function or via a constructor.">SK_UserConversion</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> <span class="comment">    /// \brief Perform a qualification conversion, producing an rvalue.</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab97945a8a57ae462282ba7dbdf1cac57">  646</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab97945a8a57ae462282ba7dbdf1cac57" title="Perform a qualification conversion, producing an rvalue.">SK_QualificationConversionRValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span> <span class="comment">    /// \brief Perform a qualification conversion, producing an xvalue.</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a686eddc5c51bbe7b189992851035fc39">  648</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a686eddc5c51bbe7b189992851035fc39" title="Perform a qualification conversion, producing an xvalue.">SK_QualificationConversionXValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> <span class="comment">    /// \brief Perform a qualification conversion, producing an lvalue.</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43aee9b9774e89b4e2eecad31d0c80a1737">  650</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43aee9b9774e89b4e2eecad31d0c80a1737" title="Perform a qualification conversion, producing an lvalue.">SK_QualificationConversionLValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span> <span class="comment">    /// \brief Perform a load from a glvalue, producing an rvalue.</span></div>
+<div class="line"><a name="l00652"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a28c7600e39109a0b3589ae5c3165a85d">  652</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a28c7600e39109a0b3589ae5c3165a85d" title="Perform a load from a glvalue, producing an rvalue.">SK_LValueToRValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> <span class="comment">    /// \brief Perform an implicit conversion sequence.</span></div>
+<div class="line"><a name="l00654"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43af82ad5a315f5355b0ab719eae60128ee">  654</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43af82ad5a315f5355b0ab719eae60128ee" title="Perform an implicit conversion sequence.">SK_ConversionSequence</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span> <span class="comment">    /// \brief Perform an implicit conversion sequence without narrowing.</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab809b86bc0840030cf254c43735676e2">  656</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab809b86bc0840030cf254c43735676e2" title="Perform an implicit conversion sequence without narrowing.">SK_ConversionSequenceNoNarrowing</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> <span class="comment">    /// \brief Perform list-initialization without a constructor</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43afbbceb2b09046336525925cf78456f8c">  658</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43afbbceb2b09046336525925cf78456f8c" title="Perform list-initialization without a constructor.">SK_ListInitialization</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> <span class="comment">    /// \brief Perform list-initialization with a constructor.</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a9625214a999180a866e78306b1e50b7c">  660</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a9625214a999180a866e78306b1e50b7c" title="Perform list-initialization with a constructor.">SK_ListConstructorCall</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> <span class="comment">    /// \brief Unwrap the single-element initializer list for a reference.</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ad5d41b21d1325f42d287f93396201170">  662</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ad5d41b21d1325f42d287f93396201170" title="Unwrap the single-element initializer list for a reference.">SK_UnwrapInitList</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> <span class="comment">    /// \brief Rewrap the single-element initializer list for a reference.</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab8a347a50a443aeefcf1ea1bc7f0e244">  664</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ab8a347a50a443aeefcf1ea1bc7f0e244" title="Rewrap the single-element initializer list for a reference.">SK_RewrapInitList</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span> <span class="comment">    /// \brief Perform initialization via a constructor.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a51b1af70ad447635a534354269167655">  666</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a51b1af70ad447635a534354269167655" title="Perform initialization via a constructor.">SK_ConstructorInitialization</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> <span class="comment">    /// \brief Zero-initialize the object</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a5cb822c4a72bb62a8fc5bc690cc6fa5f">  668</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a5cb822c4a72bb62a8fc5bc690cc6fa5f" title="Zero-initialize the object.">SK_ZeroInitialization</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span> <span class="comment">    /// \brief C assignment</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ac3ac60f3b30ca69662dac4b5f23b70e1">  670</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ac3ac60f3b30ca69662dac4b5f23b70e1" title="C assignment.">SK_CAssignment</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> <span class="comment">    /// \brief Initialization by string</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a5c2d119979539cca66f6fdc728617254">  672</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a5c2d119979539cca66f6fdc728617254" title="Initialization by string.">SK_StringInit</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span> <span class="comment">    /// \brief An initialization that "converts" an Objective-C object</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> <span class="comment">    /// (not a point to an object) to another Objective-C object type.</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a1b04963a8d3e61d50731d23c533d669b">  675</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a1b04963a8d3e61d50731d23c533d669b" title="An initialization that "converts" an Objective-C object (not a point to an object) to another Objecti...">SK_ObjCObjectConversion</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span> <span class="comment">    /// \brief Array initialization (from an array rvalue).</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span> <span class="comment">    /// This is a GNU C extension.</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a9511a902d14f558f6532260296f5b5f7">  678</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a9511a902d14f558f6532260296f5b5f7" title="Array initialization (from an array rvalue). This is a GNU C extension.">SK_ArrayInit</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span> <span class="comment">    /// \brief Array initialization from a parenthesized initializer list.</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> <span class="comment">    /// This is a GNU C++ extension.</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a92733093282fd1689577266f010ff34c">  681</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a92733093282fd1689577266f010ff34c" title="Array initialization from a parenthesized initializer list. This is a GNU C++ extension.">SK_ParenthesizedArrayInit</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span> <span class="comment">    /// \brief Pass an object by indirect copy-and-restore.</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ac64b60a0997b29c2c71ebde495ea6e00">  683</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43ac64b60a0997b29c2c71ebde495ea6e00" title="Pass an object by indirect copy-and-restore.">SK_PassByIndirectCopyRestore</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span> <span class="comment">    /// \brief Pass an object by indirect restore.</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a8452eca76751288bd481213ce3458799">  685</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a8452eca76751288bd481213ce3458799" title="Pass an object by indirect restore.">SK_PassByIndirectRestore</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> <span class="comment">    /// \brief Produce an Objective-C object pointer.</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a315c438090b725bf7f90a84941a4376d">  687</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a315c438090b725bf7f90a84941a4376d" title="Produce an Objective-C object pointer.">SK_ProduceObjCObject</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span> <span class="comment">    /// \brief Construct a std::initializer_list from an initializer list.</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43af2d84d7fa41e080322131cb9f2e3ec0e">  689</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43af2d84d7fa41e080322131cb9f2e3ec0e" title="Construct a std::initializer_list from an initializer list.">SK_StdInitializerList</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span> <span class="comment">    /// \brief Initialize an OpenCL sampler from an integer.</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a5670688410d5c0233312414f8304fceb">  691</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a5670688410d5c0233312414f8304fceb" title="Initialize an OpenCL sampler from an integer.">SK_OCLSamplerInit</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> <span class="comment">    /// \brief Passing zero to a function where OpenCL event_t is expected.</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a7114f82bb5fcf153112786e91e2c8355">  693</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43a7114f82bb5fcf153112786e91e2c8355" title="Passing zero to a function where OpenCL event_t is expected.">SK_OCLZeroEvent</a></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>   };</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> <span class="comment">  /// \brief A single step in the initialization sequence.</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html">  697</a></span> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html" title="A single step in the initialization sequence.">Step</a> {</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> <span class="comment">    /// \brief The kind of conversion or initialization step we are taking.</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#a1553ed030eed8049dd5878a6882caede">  700</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#a2b616a44866d14510e819d4a331b2d43" title="Describes the kind of a particular step in an initialization sequence.">StepKind</a> <a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#a1553ed030eed8049dd5878a6882caede" title="The kind of conversion or initialization step we are taking.">Kind</a>;</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>     </div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>     <span class="comment">// \brief The type that results from this initialization.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#afcc93481a06853862962fe2020ff6f6b">  703</a></span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#afcc93481a06853862962fe2020ff6f6b">Type</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"><a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html">  705</a></span>     <span class="keyword">struct </span><a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html">F</a> {</div>
+<div class="line"><a name="l00706"></a><span class="lineno"><a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html#a3634d47924be6f2e0471e0fdbd8dce1b">  706</a></span>       <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html#a3634d47924be6f2e0471e0fdbd8dce1b">HadMultipleCandidates</a>;</div>
+<div class="line"><a name="l00707"></a><span class="lineno"><a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html#a1753434c7acb15e31bd327f1b11dc70d">  707</a></span>       <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *<a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html#a1753434c7acb15e31bd327f1b11dc70d">Function</a>;</div>
+<div class="line"><a name="l00708"></a><span class="lineno"><a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html#a58afa6e35ca6aff2c46401b373411d28">  708</a></span>       <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> <a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html#a58afa6e35ca6aff2c46401b373411d28">FoundDecl</a>;</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>     };</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span> </div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>     <span class="keyword">union </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span> <span class="comment">      /// \brief When Kind == SK_ResolvedOverloadedFunction or Kind ==</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> <span class="comment">      /// SK_UserConversion, the function that the expression should be </span></div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span> <span class="comment">      /// resolved to or the conversion function to call, respectively.</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span> <span class="comment">      /// When Kind == SK_ConstructorInitialization or SK_ListConstruction,</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span> <span class="comment">      /// the constructor to be called.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> <span class="comment">      ///</span></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span> <span class="comment">      /// Always a FunctionDecl, plus a Boolean flag telling if it was</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span> <span class="comment">      /// selected from an overloaded set having size greater than 1.</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span> <span class="comment">      /// For conversion decls, the naming class is the source type.</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span> <span class="comment">      /// For construct decls, the naming class is the target type.</span></div>
+<div class="line"><a name="l00722"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#ac28900ef284e714026b08c605d7954a8">  722</a></span> <span class="comment"></span>      <span class="keyword">struct </span><a class="code" href="structclang_1_1InitializationSequence_1_1Step_1_1F.html">F</a> <a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#ac28900ef284e714026b08c605d7954a8" title="When Kind == SK_ResolvedOverloadedFunction or Kind == SK_UserConversion, the function that the expres...">Function</a>;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span> <span class="comment"></span></div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> <span class="comment">      /// \brief When Kind = SK_ConversionSequence, the implicit conversion</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> <span class="comment">      /// sequence.</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#aaed09b1e250226ef7245bff44bdd4c17">  726</a></span> <span class="comment"></span>      <a class="code" href="classclang_1_1ImplicitConversionSequence.html">ImplicitConversionSequence</a> *<a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#aaed09b1e250226ef7245bff44bdd4c17" title="When Kind = SK_ConversionSequence, the implicit conversion sequence.">ICS</a>;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> <span class="comment"></span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span> <span class="comment">      /// \brief When Kind = SK_RewrapInitList, the syntactic form of the</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span> <span class="comment">      /// wrapping list.</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#a7bbb6488a954bd81904aa462d685a4d0">  730</a></span> <span class="comment"></span>      <a class="code" href="classclang_1_1InitListExpr.html" title="Describes an C or C++ initializer list.">InitListExpr</a> *<a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#a7bbb6488a954bd81904aa462d685a4d0" title="When Kind = SK_RewrapInitList, the syntactic form of the wrapping list.">WrappingSyntacticList</a>;</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">void</span> <a class="code" href="classclang_1_1InitializationSequence_1_1Step.html#a585ec32eabcc333ee43d869f7dc8f652">Destroy</a>();</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>   };</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>   </div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span> <span class="comment">  /// \brief The kind of initialization sequence computed.</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a>;</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span> <span class="comment">  /// \brief Steps taken by this initialization.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<Step, 4></a> Steps;</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">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span> <span class="comment">  /// \brief Describes why initialization failed.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6">  745</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6" title="Describes why initialization failed.">FailureKind</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span> <span class="comment">    /// \brief Too many initializers provided for a reference.</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a8fa06212d264bc5e1f0e3ac74feb6e66">  747</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a8fa06212d264bc5e1f0e3ac74feb6e66" title="Too many initializers provided for a reference.">FK_TooManyInitsForReference</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span> <span class="comment">    /// \brief Array must be initialized with an initializer list.</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a4551723d208bc8205023f3265812c778">  749</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a4551723d208bc8205023f3265812c778" title="Array must be initialized with an initializer list.">FK_ArrayNeedsInitList</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span> <span class="comment">    /// \brief Array must be initialized with an initializer list or a </span></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span> <span class="comment">    /// string literal.</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a66e3ed32c7a6621e0ddceb0cd6cdfc1a">  752</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a66e3ed32c7a6621e0ddceb0cd6cdfc1a" title="Array must be initialized with an initializer list or a string literal.">FK_ArrayNeedsInitListOrStringLiteral</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span> <span class="comment">    /// \brief Array must be initialized with an initializer list or a</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span> <span class="comment">    /// wide string literal.</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ac7758d50dafc3faccbaca1e59bbb675d">  755</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ac7758d50dafc3faccbaca1e59bbb675d" title="Array must be initialized with an initializer list or a wide string literal.">FK_ArrayNeedsInitListOrWideStringLiteral</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span> <span class="comment">    /// \brief Initializing a wide char array with narrow string literal.</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a06b30edcc269ed14e9e535c704a549f2">  757</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a06b30edcc269ed14e9e535c704a549f2" title="Initializing a wide char array with narrow string literal.">FK_NarrowStringIntoWideCharArray</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span> <span class="comment">    /// \brief Initializing char array with wide string literal.</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6adc758e35c5dcb734d10490e1de15b71e">  759</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6adc758e35c5dcb734d10490e1de15b71e" title="Initializing char array with wide string literal.">FK_WideStringIntoCharArray</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> <span class="comment">    /// \brief Initializing wide char array with incompatible wide string</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> <span class="comment">    /// literal.</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a81602afbd45edc1702ecdf0423a474f0">  762</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a81602afbd45edc1702ecdf0423a474f0" title="Initializing wide char array with incompatible wide string literal.">FK_IncompatWideStringIntoWideChar</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span> <span class="comment">    /// \brief Array type mismatch.</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a0e26a8fae02f65c4b3e3bf531ac02fed">  764</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a0e26a8fae02f65c4b3e3bf531ac02fed" title="Array type mismatch.">FK_ArrayTypeMismatch</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span> <span class="comment">    /// \brief Non-constant array initializer</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a50be973acca5b881e0ac25810e75cd7b">  766</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a50be973acca5b881e0ac25810e75cd7b" title="Non-constant array initializer.">FK_NonConstantArrayInit</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span> <span class="comment">    /// \brief Cannot resolve the address of an overloaded function.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6abd3e911b4107171dc42985fcc42e2ce6">  768</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6abd3e911b4107171dc42985fcc42e2ce6" title="Cannot resolve the address of an overloaded function.">FK_AddressOfOverloadFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span> <span class="comment">    /// \brief Overloading due to reference initialization failed.</span></div>
+<div class="line"><a name="l00770"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6addb6796b16c6dc8f0b6f3c6ab7ac3894">  770</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6addb6796b16c6dc8f0b6f3c6ab7ac3894" title="Overloading due to reference initialization failed.">FK_ReferenceInitOverloadFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span> <span class="comment">    /// \brief Non-const lvalue reference binding to a temporary.</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a513434cb34ebc69703ac014f54a275e5">  772</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a513434cb34ebc69703ac014f54a275e5" title="Non-const lvalue reference binding to a temporary.">FK_NonConstLValueReferenceBindingToTemporary</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span> <span class="comment">    /// \brief Non-const lvalue reference binding to an lvalue of unrelated</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span> <span class="comment">    /// type.</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a2f215d340ab73f0ca29012d047329b7c">  775</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a2f215d340ab73f0ca29012d047329b7c" title="Non-const lvalue reference binding to an lvalue of unrelated type.">FK_NonConstLValueReferenceBindingToUnrelated</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span> <span class="comment">    /// \brief Rvalue reference binding to an lvalue.</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6acc109390374f1f80c57a8be17685bae0">  777</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6acc109390374f1f80c57a8be17685bae0" title="Rvalue reference binding to an lvalue.">FK_RValueReferenceBindingToLValue</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span> <span class="comment">    /// \brief Reference binding drops qualifiers.</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a2520a0bcb6e7e37efcc3a775f2d90333">  779</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a2520a0bcb6e7e37efcc3a775f2d90333" title="Reference binding drops qualifiers.">FK_ReferenceInitDropsQualifiers</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span> <span class="comment">    /// \brief Reference binding failed.</span></div>
+<div class="line"><a name="l00781"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a3fdefaaea204fbe3f54a97ca3379064a">  781</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a3fdefaaea204fbe3f54a97ca3379064a" title="Reference binding failed.">FK_ReferenceInitFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span> <span class="comment">    /// \brief Implicit conversion failed.</span></div>
+<div class="line"><a name="l00783"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a5ed977655b2d261db9eb3d27070e8779">  783</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a5ed977655b2d261db9eb3d27070e8779" title="Implicit conversion failed.">FK_ConversionFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> <span class="comment">    /// \brief Implicit conversion failed.</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a2b6c61fb7f1fb17091dda6ab6a2ed9a0">  785</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a2b6c61fb7f1fb17091dda6ab6a2ed9a0" title="Implicit conversion failed.">FK_ConversionFromPropertyFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span> <span class="comment">    /// \brief Too many initializers for scalar</span></div>
+<div class="line"><a name="l00787"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6aa422504604ec6464d3c526e9687581bf">  787</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6aa422504604ec6464d3c526e9687581bf" title="Too many initializers for scalar.">FK_TooManyInitsForScalar</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> <span class="comment">    /// \brief Reference initialization from an initializer list</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6adfbe7cd1a5334af1f8c35f3fee59cdd7">  789</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6adfbe7cd1a5334af1f8c35f3fee59cdd7" title="Reference initialization from an initializer list.">FK_ReferenceBindingToInitList</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span> <span class="comment">    /// \brief Initialization of some unused destination type with an</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span> <span class="comment">    /// initializer list.</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a287349e5730c325969e607f43412f1aa">  792</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a287349e5730c325969e607f43412f1aa" title="Initialization of some unused destination type with an initializer list.">FK_InitListBadDestinationType</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span> <span class="comment">    /// \brief Overloading for a user-defined conversion failed.</span></div>
+<div class="line"><a name="l00794"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a0485a83cf104826f130bb326d67467b0">  794</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a0485a83cf104826f130bb326d67467b0" title="Overloading for a user-defined conversion failed.">FK_UserConversionOverloadFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> <span class="comment">    /// \brief Overloading for initialization by constructor failed.</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ade7f63d7e6cf8c9a984c22fc9561fe49">  796</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ade7f63d7e6cf8c9a984c22fc9561fe49" title="Overloading for initialization by constructor failed.">FK_ConstructorOverloadFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span> <span class="comment">    /// \brief Overloading for list-initialization by constructor failed.</span></div>
+<div class="line"><a name="l00798"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a39ea9313c4a17184df03ef6b981f44f5">  798</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a39ea9313c4a17184df03ef6b981f44f5" title="Overloading for list-initialization by constructor failed.">FK_ListConstructorOverloadFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span> <span class="comment">    /// \brief Default-initialization of a 'const' object.</span></div>
+<div class="line"><a name="l00800"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ae073a34c92c2143cd0bf32ae1f2b34d9">  800</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ae073a34c92c2143cd0bf32ae1f2b34d9" title="Default-initialization of a 'const' object.">FK_DefaultInitOfConst</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span> <span class="comment">    /// \brief Initialization of an incomplete type.</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ad44c7e3f898a06afa4595b1c70c823c9">  802</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ad44c7e3f898a06afa4595b1c70c823c9" title="Initialization of an incomplete type.">FK_Incomplete</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span> <span class="comment">    /// \brief Variable-length array must not have an initializer.</span></div>
+<div class="line"><a name="l00804"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6abd51068b1f9f76cba867820f18314bbc">  804</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6abd51068b1f9f76cba867820f18314bbc" title="Variable-length array must not have an initializer.">FK_VariableLengthArrayHasInitializer</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span> <span class="comment">    /// \brief List initialization failed at some point.</span></div>
+<div class="line"><a name="l00806"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6aa0e985dee812ab1af9abb4fa071a1898">  806</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6aa0e985dee812ab1af9abb4fa071a1898" title="List initialization failed at some point.">FK_ListInitializationFailed</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span> <span class="comment">    /// \brief Initializer has a placeholder type which cannot be</span></div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span> <span class="comment">    /// resolved by initialization.</span></div>
+<div class="line"><a name="l00809"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a80bf82c088636de48ea8659d9200c628">  809</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6a80bf82c088636de48ea8659d9200c628" title="Initializer has a placeholder type which cannot be resolved by initialization.">FK_PlaceholderType</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span> <span class="comment">    /// \brief List-copy-initialization chose an explicit constructor.</span></div>
+<div class="line"><a name="l00811"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6add899f9dbbadb86316f6d33122114cfb">  811</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6add899f9dbbadb86316f6d33122114cfb" title="List-copy-initialization chose an explicit constructor.">FK_ExplicitConstructor</a></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> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span> <span class="comment">  /// \brief The reason why initialization failed.</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6" title="Describes why initialization failed.">FailureKind</a> Failure;</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span> <span class="comment"></span></div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span> <span class="comment">  /// \brief The failed result of overload resolution.</span></div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> <span class="comment"></span>  <a class="code" href="namespaceclang.html#a19ab53643ad18c4a87afb5c88fb625b2">OverloadingResult</a> FailedOverloadResult;</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span> <span class="comment">  /// \brief The candidate set created when initialization failed.</span></div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span> <span class="comment"></span>  <a class="code" href="classclang_1_1OverloadCandidateSet.html">OverloadCandidateSet</a> FailedCandidateSet;</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">  /// \brief The incomplete type that caused a failure.</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span> <span class="comment"></span>  <a class="code" href="classclang_1_1QualType.html">QualType</a> FailedIncompleteType;</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span> <span class="comment">  /// \brief Prints a follow-up note that highlights the location of</span></div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span> <span class="comment">  /// the initialized entity, if it's remote.</span></div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span> <span class="comment"></span>  <span class="keywordtype">void</span> PrintInitLocationNote(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> &Entity);</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span> </div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span> <span class="comment">  /// \brief Try to perform initialization of the given entity, creating a </span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span> <span class="comment">  /// record of the steps required to perform the initialization.</span></div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span> <span class="comment">  /// The generated initialization sequence will either contain enough</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span> <span class="comment">  /// information to diagnose </span></div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span> <span class="comment">  /// \param S the semantic analysis object.</span></div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> <span class="comment">  /// \param Entity the entity being initialized.</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span> <span class="comment">  /// \param Kind the kind of initialization being performed.</span></div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span> <span class="comment">  /// \param Args the argument(s) provided for initialization.</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span> <span class="comment">  /// \param InInitList true if we are initializing from an expression within</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span> <span class="comment">  ///        an initializer list. This disallows narrowing conversions in C++11</span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span> <span class="comment">  ///        onwards.</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializationSequence.html#a4e58426068ff2da34a6cc6e9a92b33c1" title="Try to perform initialization of the given entity, creating a record of the steps required to perform...">InitializationSequence</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, </div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>                          <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> &Entity,</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>                          <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> &Kind,</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>                          <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>                          <span class="keywordtype">bool</span> InInitList = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a05edc2fd85c8f9d2ba556e219b488e58">InitializeFrom</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> &Entity,</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>                       <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> &Kind, <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>                       <span class="keywordtype">bool</span> InInitList);</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span> </div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>   <a class="code" href="classclang_1_1InitializationSequence.html#a5f8b3caaf7803d7b0332af6e03adbd29">~InitializationSequence</a>();</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> <span class="comment">  /// \brief Perform the actual initialization of the given entity based on</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span> <span class="comment">  /// the computed initialization sequence.</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> <span class="comment">  /// \param S the semantic analysis object.</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span> <span class="comment">  /// \param Entity the entity being initialized.</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span> <span class="comment">  /// \param Kind the kind of initialization being performed.</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> <span class="comment">  /// \param Args the argument(s) provided for initialization, ownership of</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> <span class="comment">  /// which is transferred into the routine.</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span> <span class="comment">  /// \param ResultType if non-NULL, will be set to the type of the</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span> <span class="comment">  /// initialized object, which is the type of the declaration in most</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span> <span class="comment">  /// cases. However, when the initialized object is a variable of</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span> <span class="comment">  /// incomplete array type and the initializer is an initializer</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span> <span class="comment">  /// list, this type will be set to the completed array type.</span></div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span> <span class="comment">  /// \returns an expression that performs the actual object initialization, if</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span> <span class="comment">  /// the initialization is well-formed. Otherwise, emits diagnostics</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span> <span class="comment">  /// and returns an invalid expression.</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1InitializationSequence.html#a0958449a25f8c9db9a0d0b3e6cf5f520" title="Perform the actual initialization of the given entity based on the computed initialization sequence...">Perform</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>,</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>                      <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> &Entity,</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>                      <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> &Kind,</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>                      <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>                      <a class="code" href="classclang_1_1QualType.html">QualType</a> *ResultType = 0);</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span> <span class="comment">  /// \brief Diagnose an potentially-invalid initialization sequence.</span></div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span> <span class="comment">  /// \returns true if the initialization sequence was ill-formed, </span></div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span> <span class="comment">  /// false otherwise.</span></div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationSequence.html#ac49a627a62d4c2dd1507def3b9bb57fa" title="Diagnose an potentially-invalid initialization sequence.">Diagnose</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, </div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>                 <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializedEntity.html" title="Describes an entity that is being initialized.">InitializedEntity</a> &Entity,</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>                 <span class="keyword">const</span> <a class="code" href="classclang_1_1InitializationKind.html" title="Describes the kind of initialization being performed, along with location information for tokens rela...">InitializationKind</a> &Kind,</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>                 <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr *></a> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>);</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span> <span class="comment">  /// \brief Determine the kind of initialization sequence computed.</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a7035daa5a0b56db14be12998fe461a98">  897</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> <a class="code" href="classclang_1_1InitializationSequence.html#a7035daa5a0b56db14be12998fe461a98" title="Determine the kind of initialization sequence computed.">getKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a>; }</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span> <span class="comment">  /// \brief Set the kind of sequence computed.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a83e7318b3821e122fca8f98e25b231b6">  900</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a83e7318b3821e122fca8f98e25b231b6" title="Set the kind of sequence computed.">setSequenceKind</a>(<span class="keyword">enum</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> SK) { <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> = SK; }</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span> <span class="comment">  /// \brief Determine whether the initialization sequence is valid.</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a7de884ed1b8bedc083e5e69534db5f3f">  903</a></span> <span class="comment"></span>  LLVM_EXPLICIT <span class="keyword">operator</span> <a class="code" href="stdbool_8h.html#abb452686968e48b67397da5f97445f5b">bool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1InitializationSequence.html#abdd4ababa9a1b98b42a454620a0ce5b7" title="Determine whether the initialization sequence is invalid.">Failed</a>(); }</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span> <span class="comment"></span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span> <span class="comment">  /// \brief Determine whether the initialization sequence is invalid.</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#abdd4ababa9a1b98b42a454620a0ce5b7">  906</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationSequence.html#abdd4ababa9a1b98b42a454620a0ce5b7" title="Determine whether the initialization sequence is invalid.">Failed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> == <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcca3cf5b85304abb163f5d2dc0025a2b3de" title="A failed initialization sequence. The failure kind tells what happened.">FailedSequence</a>; }</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> </div>
+<div class="line"><a name="l00908"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#af1bf276d51af355d17eefa01cfd21f28">  908</a></span>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<Step>::const_iterator</a> <a class="code" href="classclang_1_1InitializationSequence.html#af1bf276d51af355d17eefa01cfd21f28">step_iterator</a>;</div>
+<div class="line"><a name="l00909"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#abbeec24e2d9b6588f83c3e0677163009">  909</a></span>   <a class="code" href="classclang_1_1InitializationSequence.html#af1bf276d51af355d17eefa01cfd21f28">step_iterator</a> <a class="code" href="classclang_1_1InitializationSequence.html#abbeec24e2d9b6588f83c3e0677163009">step_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Steps.begin(); }</div>
+<div class="line"><a name="l00910"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#ac35b2f994e9f8b64704df706fbd8f346">  910</a></span>   <a class="code" href="classclang_1_1InitializationSequence.html#af1bf276d51af355d17eefa01cfd21f28">step_iterator</a> <a class="code" href="classclang_1_1InitializationSequence.html#ac35b2f994e9f8b64704df706fbd8f346">step_end</a>()<span class="keyword">   const </span>{ <span class="keywordflow">return</span> Steps.end(); }</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span> <span class="comment"></span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span> <span class="comment">  /// \brief Determine whether this initialization is a direct reference </span></div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span> <span class="comment">  /// binding (C++ [dcl.init.ref]).</span></div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationSequence.html#ae7bc2164e2daa721a884ebd212ce88ce" title="Determine whether this initialization is a direct reference binding (C++ [dcl.init.ref]).">isDirectReferenceBinding</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span> <span class="comment">  /// \brief Determine whether this initialization failed due to an ambiguity.</span></div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationSequence.html#a4e6ea4de0f3c9a00c427685118e2bdd4" title="Determine whether this initialization failed due to an ambiguity.">isAmbiguous</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span> <span class="comment">  /// \brief Determine whether this initialization is direct call to a </span></div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span> <span class="comment">  /// constructor.</span></div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationSequence.html#a44186fd49dce98ff28ffd90ac2a5c112" title="Determine whether this initialization is direct call to a constructor.">isConstructorInitialization</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span> <span class="comment"></span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> <span class="comment">  /// \brief Returns whether the last step in this initialization sequence is a</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span> <span class="comment">  /// narrowing conversion, defined by C++0x [dcl.init.list]p7.</span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> <span class="comment">  /// If this function returns true, *isInitializerConstant will be set to</span></div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span> <span class="comment">  /// describe whether *Initializer was a constant expression.  If</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span> <span class="comment">  /// *isInitializerConstant is set to true, *ConstantValue will be set to the</span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span> <span class="comment">  /// evaluated value of *Initializer.</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1InitializationSequence.html#a636bf5d05042ac60a7338d20722afcca" title="Returns whether the last step in this initialization sequence is a narrowing conversion, defined by C++0x [dcl.init.list]p7.">endsWithNarrowing</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Ctx, <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Initializer,</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>                          <span class="keywordtype">bool</span> *isInitializerConstant,</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>                          <a class="code" href="classclang_1_1APValue.html">APValue</a> *ConstantValue) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> <span class="comment"></span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span> <span class="comment">  /// \brief Add a new step in the initialization that resolves the address</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span> <span class="comment">  /// of an overloaded function to a specific function declaration.</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span> <span class="comment">  /// \param Function the function to which the overloaded function reference</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> <span class="comment">  /// resolves.</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#af45d87a4928c65151d2b733f2bb128cc" title="Add a new step in the initialization that resolves the address of an overloaded function to a specifi...">AddAddressOverloadResolutionStep</a>(<a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *Function,</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>                                         <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> Found,</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>                                         <span class="keywordtype">bool</span> HadMultipleCandidates);</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span> <span class="comment"></span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span> <span class="comment">  /// \brief Add a new step in the initialization that performs a derived-to-</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span> <span class="comment">  /// base cast.</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span> <span class="comment">  /// \param BaseType the base type to which we will be casting.</span></div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span> <span class="comment">  /// \param Category Indicates whether the result will be treated as an</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span> <span class="comment">  /// rvalue, an xvalue, or an lvalue.</span></div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a60a8de5b80d7d4fd7c9f2a219d88a8e5" title="Add a new step in the initialization that performs a derived-to- base cast.">AddDerivedToBaseCastStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType,</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>                                 <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> Category);</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>      <span class="comment"></span></div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span> <span class="comment">  /// \brief Add a new step binding a reference to an object.</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span> <span class="comment">  /// \param BindingTemporary True if we are binding a reference to a temporary</span></div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span> <span class="comment">  /// object (thereby extending its lifetime); false if we are binding to an</span></div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span> <span class="comment">  /// lvalue or an lvalue treated as an rvalue.</span></div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#aeb7e3ad0c8fe0b594c63a4fc4fd54b72" title="Add a new step binding a reference to an object.">AddReferenceBindingStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T, <span class="keywordtype">bool</span> BindingTemporary);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span> <span class="comment"></span></div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span> <span class="comment">  /// \brief Add a new step that makes an extraneous copy of the input</span></div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span> <span class="comment">  /// to a temporary of the same class type.</span></div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> <span class="comment">  /// This extraneous copy only occurs during reference binding in</span></div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span> <span class="comment">  /// C++98/03, where we are permitted (but not required) to introduce</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span> <span class="comment">  /// an extra copy. At a bare minimum, we must check that we could</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span> <span class="comment">  /// call the copy constructor, and produce a diagnostic if the copy</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span> <span class="comment">  /// constructor is inaccessible or no copy constructor matches.</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span> <span class="comment"></span>  <span class="comment">//</span><span class="comment"></span></div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span> <span class="comment">  /// \param T The type of the temporary being created.</span></div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a95d4024d55560d1d7c8c278623d0e1b9" title="Add a new step that makes an extraneous copy of the input to a temporary of the same class type...">AddExtraneousCopyToTemporary</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span> <span class="comment"></span></div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span> <span class="comment">  /// \brief Add a new step invoking a conversion function, which is either</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span> <span class="comment">  /// a constructor or a conversion function.</span></div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a3667a1b611fd2acfc6d8b772f91fa506" title="Add a new step invoking a conversion function, which is either a constructor or a conversion function...">AddUserConversionStep</a>(<a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *Function,</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>                              <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> FoundDecl,</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>                              <a class="code" href="classclang_1_1QualType.html">QualType</a> T,</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>                              <span class="keywordtype">bool</span> HadMultipleCandidates);</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span> <span class="comment"></span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span> <span class="comment">  /// \brief Add a new step that performs a qualification conversion to the</span></div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span> <span class="comment">  /// given type.</span></div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a5a1460329798da6afbb4773556cdbf2c" title="Add a new step that performs a qualification conversion to the given type.">AddQualificationConversionStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty,</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>                                      <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> Category);</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span> <span class="comment">  /// \brief Add a new step that performs a load of the given type.</span></div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span> <span class="comment">  /// Although the term "LValueToRValue" is conventional, this applies to both</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span> <span class="comment">  /// lvalues and xvalues.</span></div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#ad279d75c0c041e5d730f63f806086054" title="Add a new step that performs a load of the given type.">AddLValueToRValueStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty);</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span> <span class="comment"></span></div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span> <span class="comment">  /// \brief Add a new step that applies an implicit conversion sequence.</span></div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#ad2bdc93c890e75998e73fcbf5e538035" title="Add a new step that applies an implicit conversion sequence.">AddConversionSequenceStep</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ImplicitConversionSequence.html">ImplicitConversionSequence</a> &ICS,</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>                                  <a class="code" href="classclang_1_1QualType.html">QualType</a> T, <span class="keywordtype">bool</span> TopLevelOfInitList = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span> <span class="comment"></span></div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span> <span class="comment">  /// \brief Add a list-initialization step.</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a0428033dada48f13688be438f570fecd" title="Add a list-initialization step.">AddListInitializationStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span> <span class="comment"></span></div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span> <span class="comment">  /// \brief Add a constructor-initialization step.</span></div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span> <span class="comment">  /// \param FromInitList The constructor call is syntactically an initializer</span></div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="comment">  /// list.</span></div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="comment">  /// \param AsInitList The constructor is called as an init list constructor.</span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#abf104165ab376ec031f8833219b769cb" title="Add a constructor-initialization step.">AddConstructorInitializationStep</a>(<a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *Constructor,</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>                                         <a class="code" href="namespaceclang.html#afc8aabd1f46cf32e805cd0d970ef988f" title="A C++ access specifier (public, private, protected), plus the special value "none" which means differ...">AccessSpecifier</a> Access,</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>                                         <a class="code" href="classclang_1_1QualType.html">QualType</a> T,</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>                                         <span class="keywordtype">bool</span> HadMultipleCandidates,</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>                                         <span class="keywordtype">bool</span> FromInitList, <span class="keywordtype">bool</span> AsInitList);</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="comment"></span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="comment">  /// \brief Add a zero-initialization step.</span></div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#ad44e8b37a3221729dae6c0ce6189d708" title="Add a zero-initialization step.">AddZeroInitializationStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="comment"></span></div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">  /// \brief Add a C assignment step.</span></div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="comment"></span>  <span class="comment">//</span></div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>   <span class="comment">// FIXME: It isn't clear whether this should ever be needed;</span></div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>   <span class="comment">// ideally, we would handle everything needed in C in the common</span></div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>   <span class="comment">// path. However, that isn't the case yet.</span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#abe3fded7e83730400bff8c6286c469fa" title="Add a C assignment step.">AddCAssignmentStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment"></span></div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="comment">  /// \brief Add a string init step.</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a0572dfef1b361d0b086ac334a1212d45" title="Add a string init step.">AddStringInitStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="comment"></span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">  /// \brief Add an Objective-C object conversion step, which is</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="comment">  /// always a no-op.</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a89b1e16440d138dfb6c471da35fdbe71" title="Add an Objective-C object conversion step, which is always a no-op.">AddObjCObjectConversionStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment"></span></div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="comment">  /// \brief Add an array initialization step.</span></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#afbef80e01ef3a7dd2938c706661e8e2d" title="Add an array initialization step.">AddArrayInitStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <span class="comment"></span></div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="comment">  /// \brief Add a parenthesized array initialization step.</span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a912875b8a7ab145dfb5aca0e959d33eb" title="Add a parenthesized array initialization step.">AddParenthesizedArrayInitStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="comment"></span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="comment">  /// \brief Add a step to pass an object by indirect copy-restore.</span></div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#ac25be918259a7178bc33e812f49f67b3" title="Add a step to pass an object by indirect copy-restore.">AddPassByIndirectCopyRestoreStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T, <span class="keywordtype">bool</span> shouldCopy);</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="comment"></span></div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="comment">  /// \brief Add a step to "produce" an Objective-C object (by</span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment">  /// retaining it).</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#ad49c645c28ab04c3f9992a9bc8502d35" title="Add a step to "produce" an Objective-C object (by retaining it).">AddProduceObjCObjectStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="comment"></span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="comment">  /// \brief Add a step to construct a std::initializer_list object from an</span></div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="comment">  /// initializer list.</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a230dfb1164a8aad0a4d2170dafc78cd4" title="Add a step to construct a std::initializer_list object from an initializer list.">AddStdInitializerListConstructionStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="comment"></span></div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="comment">  /// \brief Add a step to initialize an OpenCL sampler from an integer</span></div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="comment">  /// constant.</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#abaa1beae5de31403c510b994de8e24d0" title="Add a step to initialize an OpenCL sampler from an integer constant.">AddOCLSamplerInitStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="comment"></span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="comment">  /// \brief Add a step to initialize an OpenCL event_t from a NULL</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="comment">  /// constant.</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#afbafed4c7668638676e384499ad9db72" title="Add a step to initialize an OpenCL event_t from a NULL constant.">AddOCLZeroEventStep</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="comment"></span></div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="comment">  /// \brief Add steps to unwrap a initializer list for a reference around a</span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment">  /// single element and rewrap it at the end.</span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#ac33f4326828166d2fcc0ff8c97f53d6a" title="Add steps to unwrap a initializer list for a reference around a single element and rewrap it at the e...">RewrapReferenceInitList</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T, <a class="code" href="classclang_1_1InitListExpr.html" title="Describes an C or C++ initializer list.">InitListExpr</a> *Syntactic);</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="comment"></span></div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="comment">  /// \brief Note that this initialization sequence failed.</span></div>
+<div class="line"><a name="l01055"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a688fa3ae9510aaed091806d48be9679e"> 1055</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a688fa3ae9510aaed091806d48be9679e" title="Note that this initialization sequence failed.">SetFailed</a>(<a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6" title="Describes why initialization failed.">FailureKind</a> Failure) {</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>     <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcc" title="Describes the kind of initialization sequence computed.">SequenceKind</a> = <a class="code" href="classclang_1_1InitializationSequence.html#ae4165aad3884059f494b2823e4353fcca3cf5b85304abb163f5d2dc0025a2b3de" title="A failed initialization sequence. The failure kind tells what happened.">FailedSequence</a>;</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>     this->Failure = Failure;</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>     assert((Failure != <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ad44c7e3f898a06afa4595b1c70c823c9" title="Initialization of an incomplete type.">FK_Incomplete</a> || !FailedIncompleteType.<a class="code" href="classclang_1_1QualType.html#a8f87f58000490ad01cd09add1f27d7ac" title="isNull - Return true if this QualType doesn't point to a type yet.">isNull</a>()) &&</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>            <span class="stringliteral">"Incomplete type failure requires a type!"</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>   <span class="comment"></span></div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="comment">  /// \brief Note that this initialization sequence failed due to failed</span></div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment">  /// overload resolution.</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a8da1a2bd14c2827cc95fd6f3d2eed7d4" title="Note that this initialization sequence failed due to failed overload resolution.">SetOverloadFailure</a>(<a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6" title="Describes why initialization failed.">FailureKind</a> Failure, <a class="code" href="namespaceclang.html#a19ab53643ad18c4a87afb5c88fb625b2">OverloadingResult</a> Result);</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>   <span class="comment"></span></div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="comment">  /// \brief Retrieve a reference to the candidate set when overload</span></div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment">  /// resolution fails.</span></div>
+<div class="line"><a name="l01068"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#abb61b1c5e1208b7df98012b7c97280ff"> 1068</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1OverloadCandidateSet.html">OverloadCandidateSet</a> &<a class="code" href="classclang_1_1InitializationSequence.html#abb61b1c5e1208b7df98012b7c97280ff" title="Retrieve a reference to the candidate set when overload resolution fails.">getFailedCandidateSet</a>() {</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>     <span class="keywordflow">return</span> FailedCandidateSet;</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>   }</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment"></span></div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="comment">  /// \brief Get the overloading result, for when the initialization</span></div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="comment">  /// sequence failed due to a bad overload.</span></div>
+<div class="line"><a name="l01074"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#a33eccd19d736aee165900160999dd65d"> 1074</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang.html#a19ab53643ad18c4a87afb5c88fb625b2">OverloadingResult</a> <a class="code" href="classclang_1_1InitializationSequence.html#a33eccd19d736aee165900160999dd65d" title="Get the overloading result, for when the initialization sequence failed due to a bad overload...">getFailedOverloadResult</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>     <span class="keywordflow">return</span> FailedOverloadResult;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>   }</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment"></span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="comment">  /// \brief Note that this initialization sequence failed due to an</span></div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="comment">  /// incomplete type.</span></div>
+<div class="line"><a name="l01080"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#aa90890c3ab0bd025b5de5837195ffb5e"> 1080</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#aa90890c3ab0bd025b5de5837195ffb5e" title="Note that this initialization sequence failed due to an incomplete type.">setIncompleteTypeFailure</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> IncompleteType) {</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>     FailedIncompleteType = IncompleteType;</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>     <a class="code" href="classclang_1_1InitializationSequence.html#a688fa3ae9510aaed091806d48be9679e" title="Note that this initialization sequence failed.">SetFailed</a>(<a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6ad44c7e3f898a06afa4595b1c70c823c9" title="Initialization of an incomplete type.">FK_Incomplete</a>);</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>   }</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="comment"></span></div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="comment">  /// \brief Determine why initialization failed.</span></div>
+<div class="line"><a name="l01086"></a><span class="lineno"><a class="code" href="classclang_1_1InitializationSequence.html#ade861af6c9adaa6e07c9f2090c225af6"> 1086</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1InitializationSequence.html#aec56e18fd7a5df4ea0df8f564e5257d6" title="Describes why initialization failed.">FailureKind</a> <a class="code" href="classclang_1_1InitializationSequence.html#ade861af6c9adaa6e07c9f2090c225af6" title="Determine why initialization failed.">getFailureKind</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>     assert(<a class="code" href="classclang_1_1InitializationSequence.html#abdd4ababa9a1b98b42a454620a0ce5b7" title="Determine whether the initialization sequence is invalid.">Failed</a>() && <span class="stringliteral">"Not an initialization failure!"</span>);</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>     <span class="keywordflow">return</span> Failure;</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>   }</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment"></span></div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="comment">  /// \brief Dump a representation of this initialization sequence to </span></div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="comment">  /// the given stream, for debugging purposes.</span></div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a999abdafc68effdf86f6179ae4b9e7e9" title="Dump a representation of this initialization sequence to standard error, for debugging purposes...">dump</a>(raw_ostream &OS) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>   <span class="comment"></span></div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="comment">  /// \brief Dump a representation of this initialization sequence to </span></div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">  /// standard error, for debugging purposes.</span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1InitializationSequence.html#a999abdafc68effdf86f6179ae4b9e7e9" title="Dump a representation of this initialization sequence to standard error, for debugging purposes...">dump</a>() <span class="keyword">const</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"> 1100</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="preprocessor">#endif // LLVM_CLANG_SEMA_INITIALIZATION_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InputInfo_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InputInfo_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InputInfo_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InputInfo_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,168 @@
+<!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: InputInfo.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_79a4e43f5883e96ea4f45c2e67339e2c.html">Driver</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InputInfo.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InputInfo_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">//===--- InputInfo.h - Input Source & Type 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_LIB_DRIVER_INPUTINFO_H_</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span><span class="preprocessor">#define CLANG_LIB_DRIVER_INPUTINFO_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="Types_8h.html">clang/Driver/Types.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "llvm/Option/Arg.h"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include <cassert></span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">namespace </span>driver {</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment"></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment">/// InputInfo - Wrapper for information about an input source.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html">   22</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1driver_1_1InputInfo.html" title="InputInfo - Wrapper for information about an input source.">InputInfo</a> {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>   <span class="comment">// FIXME: The distinction between filenames and inputarg here is</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   <span class="comment">// gross; we should probably drop the idea of a "linker</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <span class="comment">// input". Doing so means tweaking pipelining to still create link</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <span class="comment">// steps when it sees linker inputs (but not treat them as</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   <span class="comment">// arguments), and making sure that arguments get rendered</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="comment">// correctly.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">enum</span> Class {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>     Nothing,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>     <a class="code" href="classclang_1_1driver_1_1InputInfo.html#a78a34579856b043685638c3edb55f0df">Filename</a>,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>     <a class="code" href="classclang_1_1driver_1_1InputInfo.html#abbef91aa86f7b3d8770806e0fe511cd3">InputArg</a>,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>     Pipe</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   };</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a78a34579856b043685638c3edb55f0df">   37</a></span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1driver_1_1InputInfo.html#a78a34579856b043685638c3edb55f0df">Filename</a>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#abbef91aa86f7b3d8770806e0fe511cd3">   38</a></span>     <span class="keyword">const</span> llvm::opt::Arg *<a class="code" href="classclang_1_1driver_1_1InputInfo.html#abbef91aa86f7b3d8770806e0fe511cd3">InputArg</a>;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   } Data;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   Class <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <a class="code" href="namespaceclang_1_1driver_1_1types.html#a7d09171e548da2cdf7a0212fb2984718">types::ID</a> <a class="code" href="classclang_1_1Type.html">Type</a>;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *BaseInput;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#af09c406f565eec36982e2e0635f0bbb5">   45</a></span>   <a class="code" href="classclang_1_1driver_1_1InputInfo.html#af09c406f565eec36982e2e0635f0bbb5">InputInfo</a>() {}</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a1b72531563c10f1a846350ec3eb2ff3b">   46</a></span>   <a class="code" href="classclang_1_1driver_1_1InputInfo.html#af09c406f565eec36982e2e0635f0bbb5">InputInfo</a>(<a class="code" href="namespaceclang_1_1driver_1_1types.html#a7d09171e548da2cdf7a0212fb2984718">types::ID</a> _Type, <span class="keyword">const</span> <span class="keywordtype">char</span> *_BaseInput)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     : <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(Nothing), <a class="code" href="classclang_1_1Type.html">Type</a>(_Type), BaseInput(_BaseInput) {</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   }</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a16a5ace8b3d293436cf9b0f33923f902">   49</a></span>   <a class="code" href="classclang_1_1driver_1_1InputInfo.html#af09c406f565eec36982e2e0635f0bbb5">InputInfo</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *_Filename, <a class="code" href="namespaceclang_1_1driver_1_1types.html#a7d09171e548da2cdf7a0212fb2984718">types::ID</a> _Type, <span class="keyword">const</span> <span class="keywordtype">char</span> *_BaseInput)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     : <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(<a class="code" href="classclang_1_1driver_1_1InputInfo.html#a78a34579856b043685638c3edb55f0df">Filename</a>), <a class="code" href="classclang_1_1Type.html">Type</a>(_Type), BaseInput(_BaseInput) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>     Data.Filename = _Filename;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   }</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a552577c08e19d4b17807b308b80629da">   53</a></span>   <a class="code" href="classclang_1_1driver_1_1InputInfo.html#af09c406f565eec36982e2e0635f0bbb5">InputInfo</a>(<span class="keyword">const</span> llvm::opt::Arg *_InputArg, <a class="code" href="namespaceclang_1_1driver_1_1types.html#a7d09171e548da2cdf7a0212fb2984718">types::ID</a> _Type,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>             <span class="keyword">const</span> <span class="keywordtype">char</span> *_BaseInput)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>       : <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(<a class="code" href="classclang_1_1driver_1_1InputInfo.html#abbef91aa86f7b3d8770806e0fe511cd3">InputArg</a>), <a class="code" href="classclang_1_1Type.html">Type</a>(_Type), BaseInput(_BaseInput) {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     Data.InputArg = _InputArg;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   }</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#ae1948a965d4cfb7ccf816f6af807c7ef">   59</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1InputInfo.html#ae1948a965d4cfb7ccf816f6af807c7ef">isNothing</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == Nothing; }</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#ac359b7ab1d7aae624b04ad11f92e67a3">   60</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1InputInfo.html#ac359b7ab1d7aae624b04ad11f92e67a3">isFilename</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == <a class="code" href="classclang_1_1driver_1_1InputInfo.html#a78a34579856b043685638c3edb55f0df">Filename</a>; }</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a772e3c7afdf6d15d79dfbb2393019fe0">   61</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1InputInfo.html#a772e3c7afdf6d15d79dfbb2393019fe0">isInputArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == <a class="code" href="classclang_1_1driver_1_1InputInfo.html#abbef91aa86f7b3d8770806e0fe511cd3">InputArg</a>; }</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#ae5737406ffcb74696b649e7c6ce57123">   62</a></span>   <a class="code" href="namespaceclang_1_1driver_1_1types.html#a7d09171e548da2cdf7a0212fb2984718">types::ID</a> <a class="code" href="classclang_1_1driver_1_1InputInfo.html#ae5737406ffcb74696b649e7c6ce57123">getType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Type.html">Type</a>; }</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#ac66c873619ee67726769dc0c245e5d14">   63</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1driver_1_1InputInfo.html#ac66c873619ee67726769dc0c245e5d14">getBaseInput</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> BaseInput; }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#ace16bae3895eb0198b9e0c7a65263832">   65</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1driver_1_1InputInfo.html#ace16bae3895eb0198b9e0c7a65263832">getFilename</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>     assert(<a class="code" href="classclang_1_1driver_1_1InputInfo.html#ac359b7ab1d7aae624b04ad11f92e67a3">isFilename</a>() && <span class="stringliteral">"Invalid accessor."</span>);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     <span class="keywordflow">return</span> Data.Filename;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   }</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a99f7aa20cda18914bdaa11a5c5ff66fa">   69</a></span>   <span class="keyword">const</span> llvm::opt::Arg &<a class="code" href="classclang_1_1driver_1_1InputInfo.html#a99f7aa20cda18914bdaa11a5c5ff66fa">getInputArg</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     assert(<a class="code" href="classclang_1_1driver_1_1InputInfo.html#a772e3c7afdf6d15d79dfbb2393019fe0">isInputArg</a>() && <span class="stringliteral">"Invalid accessor."</span>);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     <span class="keywordflow">return</span> *Data.InputArg;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment"></span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment">  /// getAsString - Return a string name for this input, for</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="comment">  /// debugging.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1InputInfo.html#a7c80ac6887b7234f9d75d1f6b2645efc">   76</a></span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1driver_1_1InputInfo.html#a7c80ac6887b7234f9d75d1f6b2645efc">getAsString</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1driver_1_1InputInfo.html#ac359b7ab1d7aae624b04ad11f92e67a3">isFilename</a>())</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>       <span class="keywordflow">return</span> std::string(<span class="stringliteral">"\""</span>) + <a class="code" href="classclang_1_1driver_1_1InputInfo.html#ace16bae3895eb0198b9e0c7a65263832">getFilename</a>() + <span class="charliteral">'"'</span>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1driver_1_1InputInfo.html#a772e3c7afdf6d15d79dfbb2393019fe0">isInputArg</a>())</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>       <span class="keywordflow">return</span> <span class="stringliteral">"(input arg)"</span>;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>       <span class="keywordflow">return</span> <span class="stringliteral">"(nothing)"</span>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   }</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> };</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> } <span class="comment">// end namespace driver</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/InterCheckerAPI_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InterCheckerAPI_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InterCheckerAPI_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/InterCheckerAPI_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,101 @@
+<!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: InterCheckerAPI.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_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_5fa4c591fb04e7ea3227105bf6cc3359.html">Checkers</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">InterCheckerAPI.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="InterCheckerAPI_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">//==--- InterCheckerAPI.h ---------------------------------------*- 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">// This file allows introduction of checker dependencies. It contains APIs for</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// inter-checker communications.</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> </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#ifndef INTERCHECKERAPI_H_</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor"></span><span class="preprocessor">#define INTERCHECKERAPI_H_</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="comment">/// Register the checker which evaluates CString API calls.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ento.html#a94ac23bc6e56e34e17ec18715d091d3b" title="Register the checker which evaluates CString API calls.">registerCStringCheckerBasic</a>(CheckerManager &Mgr);</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> }}</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#endif </span><span class="comment">/* INTERCHECKERAPI_H_ */</span><span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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/Internals_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Internals_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Internals_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Internals_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,259 @@
+<!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: Internals.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_a868d8394e81a0f5a2cc73e01aef2a43.html">ARCMigrate</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Internals.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Internals_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">//===-- Internals.h - Implementation Details---------------------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="preprocessor">#ifndef LLVM_CLANG_LIB_ARCMIGRATE_INTERNALS_H</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_LIB_ARCMIGRATE_INTERNALS_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="ARCMT_8h.html">clang/ARCMigrate/ARCMT.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="Diagnostic_8h.html" title="Defines the Diagnostic-related interfaces.">clang/Basic/Diagnostic.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "llvm/ADT/Optional.h"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include <list></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>clang {</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>   <span class="keyword">class </span>Sema;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>   <span class="keyword">class </span>Stmt;</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>arcmt {</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_1arcmt_1_1CapturedDiagList.html">   25</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html">CapturedDiagList</a> {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <span class="keyword">typedef</span> std::list<StoredDiagnostic> ListTy;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   ListTy List;</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">public</span>:</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a5834f21295598779da66019d746c6e89">   30</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a5834f21295598779da66019d746c6e89">push_back</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StoredDiagnostic.html" title="Represents a diagnostic in a form that can be retained until its corresponding source manager is dest...">StoredDiagnostic</a> &diag) { List.push_back(diag); }</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="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a0e9489adb181d076c9da62ed736433dc">clearDiagnostic</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<unsigned></a> IDs, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#ac8e5fb6b311ca9b3aacb594eef0fc6f2">hasDiagnostic</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<unsigned></a> IDs, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a1be4eb41e5f1384fc6c9d8ae5f6cfb5c">reportDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &diags) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a76f6e5fb16f43912981bce35bf5be6fb">hasErrors</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#accd68791dde9278bd9b5fa8c16644a63">   39</a></span>   <span class="keyword">typedef</span> ListTy::const_iterator <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#accd68791dde9278bd9b5fa8c16644a63">iterator</a>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#ad723c253bc8c1ed61b9f5eb369763720">   40</a></span>   <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#accd68791dde9278bd9b5fa8c16644a63">iterator</a> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#ad723c253bc8c1ed61b9f5eb369763720">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> List.begin(); }</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a46ef75336bd130e1e71115613a6c460e">   41</a></span>   <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#accd68791dde9278bd9b5fa8c16644a63">iterator</a> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#a46ef75336bd130e1e71115613a6c460e">end</a>()<span class="keyword">   const </span>{ <span class="keywordflow">return</span> List.end();   }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> };</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1arcmt.html#a5e4da25c3f1697ad1cd634273af7a467">writeARCDiagsToPlist</a>(<span class="keyword">const</span> std::string &outPath,</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>                           <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StoredDiagnostic></a> diags,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>                           <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html">   48</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html">TransformActions</a> {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diags;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html">CapturedDiagList</a> &CapturedDiags;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordtype">bool</span> ReportedErrors;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="keywordtype">void</span> *Impl; <span class="comment">// TransformActionsImpl.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aedda3773a8dd828ae9b06bd62e427115">TransformActions</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &diag, <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html">CapturedDiagList</a> &capturedDiags,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>                    <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &ctx, <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a4c92f0bf9dfe54fe862a1da70cda2523">~TransformActions</a>();</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#ab46f14de8f6fd6490d9cc34f30963d1b">startTransaction</a>();</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a4dde4b4089254298465fcb770ca08203">commitTransaction</a>();</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a47cce65deeec2c8fa9b6d9d5b7ad961a">abortTransaction</a>();</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>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a45137908a8ae2afb93a6c4d786d7e5d8">insert</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a>, StringRef <a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aa6a48766d2ea39d447e6ffa3f85ce98d8">text</a>);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a33c8cfdde291306220e4adb88085fba1">insertAfterToken</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> loc, StringRef text);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <span class="keywordtype">void</span> <span class="keyword">remove</span>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a6e10bd4b71c3d2aab11cbf435934b1ca">removeStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aa845449783d4c9c2f6e259dad6afcb10">replace</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, StringRef text);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aa845449783d4c9c2f6e259dad6afcb10">replace</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> replacementRange);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a1906b4b1d54be8827ea36cd49ce5a59f">replaceStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S, StringRef text);</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#ac1983a3eaa2ba289613ad39d754df47f">replaceText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> loc, StringRef text,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>                    StringRef replacementText);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a0e95fada9c270c937d2d802db159395f">increaseIndentation</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>                            <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> parentIndent);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a45831dc20dd7cf09585d9b3735ace7c9">clearDiagnostic</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<unsigned></a> IDs, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range);</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aeea7fa7639bea767b3770ba972dcaa11">   76</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aeea7fa7639bea767b3770ba972dcaa11">clearAllDiagnostics</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a45831dc20dd7cf09585d9b3735ace7c9">clearDiagnostic</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<unsigned></a>(), range);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   }</div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#af045ecb99fa93970dfab5e8035a6eb64">   79</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#af045ecb99fa93970dfab5e8035a6eb64">clearDiagnostic</a>(<span class="keywordtype">unsigned</span> ID1, <span class="keywordtype">unsigned</span> ID2, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) {</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     <span class="keywordtype">unsigned</span> IDs[] = { ID1, ID2 };</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a45831dc20dd7cf09585d9b3735ace7c9">clearDiagnostic</a>(IDs, range);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   }</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a93869217e7b51cedc4908a95e28c7219">   83</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a45831dc20dd7cf09585d9b3735ace7c9">clearDiagnostic</a>(<span class="keywordtype">unsigned</span> ID1, <span class="keywordtype">unsigned</span> ID2, <span class="keywordtype">unsigned</span> ID3,</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>                        <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>     <span class="keywordtype">unsigned</span> IDs[] = { ID1, ID2, ID3 };</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a45831dc20dd7cf09585d9b3735ace7c9">clearDiagnostic</a>(IDs, range);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   }</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aad1aed5e296603a01996d0f83ac93f12">   89</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#aad1aed5e296603a01996d0f83ac93f12">hasDiagnostic</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <span class="keywordflow">return</span> CapturedDiags.<a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#ac8e5fb6b311ca9b3aacb594eef0fc6f2">hasDiagnostic</a>(ID, range);</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> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a563630dad8f8f0dc633d457702896e46">   93</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a563630dad8f8f0dc633d457702896e46">hasDiagnostic</a>(<span class="keywordtype">unsigned</span> ID1, <span class="keywordtype">unsigned</span> ID2, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>     <span class="keywordtype">unsigned</span> IDs[] = { ID1, ID2 };</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordflow">return</span> CapturedDiags.<a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html#ac8e5fb6b311ca9b3aacb594eef0fc6f2">hasDiagnostic</a>(IDs, range);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   }</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a93071e8b062193361d69393562f0586e">reportError</a>(StringRef error, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> loc,</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>                    <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range = <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>());</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a7bdcb0741e0e437814dc298d7626bfa9">reportWarning</a>(StringRef warning, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> loc,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>                    <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range = <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>());</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a4b9ee7db3f701b272033fa82a9c7ddb9">reportNote</a>(StringRef note, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> loc,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>                   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range = <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>());</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#ae938fc42ae543f7d6bb76b9072e25821">  105</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#ae938fc42ae543f7d6bb76b9072e25821">hasReportedErrors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ReportedErrors; }</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1TransformActions_1_1RewriteReceiver.html">  107</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1arcmt_1_1TransformActions_1_1RewriteReceiver.html">RewriteReceiver</a> {</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     <span class="keyword">virtual</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions_1_1RewriteReceiver.html#a0e0172aae11e30702b2995bb6d0f06c6">~RewriteReceiver</a>();</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions_1_1RewriteReceiver.html#a21e7f7f528263790ea08daba6d3b7321">insert</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> loc, StringRef text) = 0;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <span class="keyword">remove</span>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range) = 0;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions_1_1RewriteReceiver.html#aee39ca215a4a20f7c9c46a75b9989252">increaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>                                      <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> parentIndent) = 0;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   };</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a4a95690e36c61693bd2437ccfe08cd76">applyRewrites</a>(<a class="code" href="classclang_1_1arcmt_1_1TransformActions_1_1RewriteReceiver.html">RewriteReceiver</a> &receiver);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> };</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1Transaction.html">  120</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1arcmt_1_1Transaction.html">Transaction</a> {</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html">TransformActions</a> &TA;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="keywordtype">bool</span> Aborted;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1Transaction.html#ae5ff175e08859aa2bb640b12a634252b">  125</a></span>   <a class="code" href="classclang_1_1arcmt_1_1Transaction.html#ae5ff175e08859aa2bb640b12a634252b">Transaction</a>(<a class="code" href="classclang_1_1arcmt_1_1TransformActions.html">TransformActions</a> &TA) : TA(TA), Aborted(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     TA.<a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#ab46f14de8f6fd6490d9cc34f30963d1b">startTransaction</a>();</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   }</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1Transaction.html#a9d058d3891fe24c5be95a1377259d086">  129</a></span>   <a class="code" href="classclang_1_1arcmt_1_1Transaction.html#a9d058d3891fe24c5be95a1377259d086">~Transaction</a>() {</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1arcmt_1_1Transaction.html#ad96f20ca02482cc532392f43c4451b24">isAborted</a>())</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       TA.<a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a4dde4b4089254298465fcb770ca08203">commitTransaction</a>();</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   }</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1Transaction.html#acfbe5c0dce25550687cc0dac2830e017">  134</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1Transaction.html#acfbe5c0dce25550687cc0dac2830e017">abort</a>() {</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     TA.<a class="code" href="classclang_1_1arcmt_1_1TransformActions.html#a47cce65deeec2c8fa9b6d9d5b7ad961a">abortTransaction</a>();</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     Aborted = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   }</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1Transaction.html#ad96f20ca02482cc532392f43c4451b24">  139</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1Transaction.html#ad96f20ca02482cc532392f43c4451b24">isAborted</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Aborted; }</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> };</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html">  142</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html">MigrationPass</a> {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aa577773a8201e146570dd0acd2b4a705">  144</a></span>   <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aa577773a8201e146570dd0acd2b4a705">Ctx</a>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ac485d4d9d6bc42f6911c7a92272fe3ba">  145</a></span>   <a class="code" href="classclang_1_1LangOptions.html#a01202ff51e7f9dbf39a447360d0a3a84">LangOptions::GCMode</a> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ac485d4d9d6bc42f6911c7a92272fe3ba">OrigGCMode</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">  146</a></span>   <a class="code" href="classclang_1_1MigratorOptions.html">MigratorOptions</a> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">MigOptions</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a58d59fb0d293c1b3d6374b46c1608b46">  147</a></span>   <a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a58d59fb0d293c1b3d6374b46c1608b46">SemaRef</a>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#add5f198d6932f53f26fd53eb22f39993">  148</a></span>   <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html">TransformActions</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#add5f198d6932f53f26fd53eb22f39993">TA</a>;</div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a322cd463efc72f5628551eb9a3cabdfd">  149</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html">CapturedDiagList</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a322cd463efc72f5628551eb9a3cabdfd">CapturedDiags</a>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a00b2d159d862fd20dd17d6641c5a59fd">  150</a></span>   std::vector<SourceLocation> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a00b2d159d862fd20dd17d6641c5a59fd">ARCMTMacroLocs</a>;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a9ba4d69e7211063864d6a7ee2d6771b1">  151</a></span>   <a class="code" href="classllvm_1_1Optional.html">Optional<bool></a> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a9ba4d69e7211063864d6a7ee2d6771b1">EnableCFBridgeFns</a>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a136080a7dfe5763e295f8f869c10b2a1">  153</a></span>   <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a136080a7dfe5763e295f8f869c10b2a1">MigrationPass</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aa577773a8201e146570dd0acd2b4a705">Ctx</a>, <a class="code" href="classclang_1_1LangOptions.html#a01202ff51e7f9dbf39a447360d0a3a84">LangOptions::GCMode</a> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ac485d4d9d6bc42f6911c7a92272fe3ba">OrigGCMode</a>,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                 <a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &sema, <a class="code" href="classclang_1_1arcmt_1_1TransformActions.html">TransformActions</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#add5f198d6932f53f26fd53eb22f39993">TA</a>,</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>                 <span class="keyword">const</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html">CapturedDiagList</a> &capturedDiags,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>                 std::vector<SourceLocation> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a00b2d159d862fd20dd17d6641c5a59fd">ARCMTMacroLocs</a>)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     : Ctx(Ctx), OrigGCMode(OrigGCMode), <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">MigOptions</a>(),</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>       <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a58d59fb0d293c1b3d6374b46c1608b46">SemaRef</a>(sema), TA(TA), <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a322cd463efc72f5628551eb9a3cabdfd">CapturedDiags</a>(capturedDiags),</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>       ARCMTMacroLocs(ARCMTMacroLocs) { }</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aa07e9251671a5d40cdc979449c581805">  161</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1arcmt_1_1CapturedDiagList.html">CapturedDiagList</a> &<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aa07e9251671a5d40cdc979449c581805">getDiags</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a322cd463efc72f5628551eb9a3cabdfd">CapturedDiags</a>; }</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a1fc0eb870117061b088d670210439f53">  163</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a1fc0eb870117061b088d670210439f53">isGCMigration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ac485d4d9d6bc42f6911c7a92272fe3ba">OrigGCMode</a> != <a class="code" href="classclang_1_1LangOptions.html#a01202ff51e7f9dbf39a447360d0a3a84ab62653320d5d7633c47854b73fe5d93d">LangOptions::NonGC</a>; }</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aeda81af60e58f8eb78eb5408a4f3d9ce">  164</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aeda81af60e58f8eb78eb5408a4f3d9ce">noNSAllocReallocError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">MigOptions</a>.<a class="code" href="classclang_1_1MigratorOptions.html#a538590a35c2812ce07ace757fafd7138">NoNSAllocReallocError</a>; }</div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ac8fd9dff119cf663ec1f5a4dee84c284">  165</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ac8fd9dff119cf663ec1f5a4dee84c284">setNSAllocReallocError</a>(<span class="keywordtype">bool</span> val) { <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">MigOptions</a>.<a class="code" href="classclang_1_1MigratorOptions.html#a538590a35c2812ce07ace757fafd7138">NoNSAllocReallocError</a> = val; }</div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a0dc156e910845c9448927f8f18014118">  166</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a0dc156e910845c9448927f8f18014118">noFinalizeRemoval</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">MigOptions</a>.<a class="code" href="classclang_1_1MigratorOptions.html#a59140d1d59b0d01cdb2ffb366623e933">NoFinalizeRemoval</a>; }</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ae66a934ca1fc42ef623f7b395fbb4c7f">  167</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#ae66a934ca1fc42ef623f7b395fbb4c7f">setNoFinalizeRemoval</a>(<span class="keywordtype">bool</span> val) {<a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#a4c3cea3a32163ab398bd30885708c584">MigOptions</a>.<a class="code" href="classclang_1_1MigratorOptions.html#a59140d1d59b0d01cdb2ffb366623e933">NoFinalizeRemoval</a> = val; }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1arcmt_1_1MigrationPass.html#aa7f2c67f729467072c01010cb2292c53">CFBridgingFunctionsDefined</a>();</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> };</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="namespaceclang_1_1arcmt.html#a1a4ad6b5e214392b72c799dfb33f2c44">  172</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> StringRef <a class="code" href="namespaceclang_1_1arcmt.html#a1a4ad6b5e214392b72c799dfb33f2c44">getARCMTMacroName</a>() {</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <span class="keywordflow">return</span> <span class="stringliteral">"__IMPL_ARCMT_REMOVED_EXPR__"</span>;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> }</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> } <span class="comment">// end namespace arcmt</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:40 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