[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