[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/CommonBugCategories_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,99 @@
+<!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: CommonBugCategories.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CommonBugCategories.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommonBugCategories_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">//=--- CommonBugCategories.cpp - Provides common issue categories -*- 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">#include "<a class="code" href="CommonBugCategories_8h.html">clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// Common strings used for the "category" of many static analyzer issues.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">namespace </span>clang { <span class="keyword">namespace </span>ento { <span class="keyword">namespace </span>categories {</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1categories.html#a581ad8dfd250561e543f31d64a6e8b6b"> 15</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a581ad8dfd250561e543f31d64a6e8b6b">CoreFoundationObjectiveC</a> = <span class="stringliteral">"Core Foundation/Objective-C"</span>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1categories.html#a73df22143fb280f9ac68a5803720c597"> 16</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a73df22143fb280f9ac68a5803720c597">LogicError</a> = <span class="stringliteral">"Logic error"</span>;</div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1categories.html#a73a8ae06a5011460a3d06e1ee6e9d6b6"> 17</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a73a8ae06a5011460a3d06e1ee6e9d6b6">MemoryCoreFoundationObjectiveC</a> =</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="stringliteral">"Memory (Core Foundation/Objective-C)"</span>;</div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1categories.html#a54df5af5f5165c3ce2daf6c8ebdfc64d"> 19</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a54df5af5f5165c3ce2daf6c8ebdfc64d">UnixAPI</a> = <span class="stringliteral">"Unix API"</span>;</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> }}}</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonBugCategories_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,104 @@
+<!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: CommonBugCategories.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_70579d56c0ce0f64b5ed66d6a11cf1c7.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_734a8767d7ca7d508f91a2e813224558.html">Core</a></li><li class="navelem"><a class="el" href="dir_2ba7a218f06aeb0c1cc9ef1662abecef.html">BugReporter</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CommonBugCategories.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommonBugCategories_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">//=--- CommonBugCategories.h - Provides common issue categories -*- 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_STATIC_ANALYZER_BUG_CATEGORIES_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_STATIC_ANALYZER_BUG_CATEGORIES_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="comment">// Common strings used for the "category" of many static analyzer issues.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1categories.html"> 16</a></span> <span class="keyword">namespace </span>categories {</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a581ad8dfd250561e543f31d64a6e8b6b">CoreFoundationObjectiveC</a>;</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a73df22143fb280f9ac68a5803720c597">LogicError</a>;</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a73a8ae06a5011460a3d06e1ee6e9d6b6">MemoryCoreFoundationObjectiveC</a>;</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1ento_1_1categories.html#a54df5af5f5165c3ce2daf6c8ebdfc64d">UnixAPI</a>;</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> }</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> }</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> }</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,159 @@
+<!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: CommonOptionsParser.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_14ab871e308b37f9042717085145c002.html">Tooling</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CommonOptionsParser.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommonOptionsParser_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">//===--- CommonOptionsParser.cpp - common options for clang tools ---------===//</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 CommonOptionsParser class used to parse common</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// command-line options for clang tools, so that they can be run as separate</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// command-line applications with a consistent common interface for handling</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// compilation database and input files.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// It provides a common subset of command-line options, common algorithm</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// for locating a compilation database and source files, and help messages</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// for the basic command-line interface.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// It creates a CompilationDatabase and reads common command-line options.</span></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">// This class uses the Clang Tooling infrastructure, see</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// for details on setting it up with LLVM source tree.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//===----------------------------------------------------------------------===//</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="preprocessor">#include "llvm/Support/CommandLine.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="CommonOptionsParser_8h.html">clang/Tooling/CommonOptionsParser.h</a>"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="Tooling_8h.html">clang/Tooling/Tooling.h</a>"</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::tooling;</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">using namespace </span>llvm;</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">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#af6a3cb3b487843823ca6e9b051f0b246">CommonOptionsParser::HelpMessage</a> =</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="stringliteral">"\n"</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="stringliteral">"-p <build-path> is used to read a compile command database.\n"</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="stringliteral">"\n"</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="stringliteral">"\tFor example, it can be a CMake build directory in which a file named\n"</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="stringliteral">"\tcompile_commands.json exists (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ON\n"</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="stringliteral">"\tCMake option to get this output). When no build path is specified,\n"</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="stringliteral">"\ta search for compile_commands.json will be attempted through all\n"</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="stringliteral">"\tparent paths of the first input file . See:\n"</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="stringliteral">"\thttp://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an\n"</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="stringliteral">"\texample of setting up Clang Tooling on a source tree.\n"</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="stringliteral">"\n"</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="stringliteral">"<source0> ... specify the paths of source files. These paths are\n"</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="stringliteral">"\tlooked up in the compile command database. If the path of a file is\n"</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="stringliteral">"\tabsolute, it needs to point into CMake's source tree. If the path is\n"</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="stringliteral">"\trelative, the current working directory needs to be in the CMake\n"</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="stringliteral">"\tsource tree and the file must be in a subdirectory of the current\n"</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="stringliteral">"\tworking directory. \"./\" prefixes in the relative files will be\n"</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="stringliteral">"\tautomatically removed, but the rest of a relative path must be a\n"</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="stringliteral">"\tsuffix of a path in the compile command database.\n"</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a25f4718183a7795db9abf74685c9f8fb"> 56</a></span> <a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a25f4718183a7795db9abf74685c9f8fb" title="Parses command-line, initializes a compilation database. This constructor can change argc and argv co...">CommonOptionsParser::CommonOptionsParser</a>(<span class="keywordtype">int</span> &argc, <span class="keyword">const</span> <span class="keywordtype">char</span> **argv,</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *Overview) {</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> cl::opt<std::string> BuildPath(</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"p"</span>, cl::desc(<span class="stringliteral">"Build path"</span>), cl::Optional);</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> cl::list<std::string> SourcePaths(</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cl::Positional, cl::desc(<span class="stringliteral">"<source0> [... <sourceN>]"</span>), cl::OneOrMore);</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> Compilations.reset(<a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a91e2eab2e10f31074aebaed1ed18c791" title="Creates a FixedCompilationDatabase from the arguments after "–".">FixedCompilationDatabase::loadFromCommandLine</a>(argc,</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> argv));</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cl::ParseCommandLineOptions(argc, argv, Overview);</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> SourcePathList = SourcePaths;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">if</span> (!Compilations) {</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> std::string ErrorMessage;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">if</span> (!BuildPath.empty()) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> Compilations.reset(<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a06648beb4d3038dad6cd52fe06b0a028" title="Tries to detect a compilation database location and load it.">CompilationDatabase::autoDetectFromDirectory</a>(</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> BuildPath, ErrorMessage));</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> Compilations.reset(<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a0519f5963f3bb5acb95fa046e03d82bc" title="Tries to detect a compilation database location and load it.">CompilationDatabase::autoDetectFromSource</a>(</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> SourcePaths[0], ErrorMessage));</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (!Compilations)</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> llvm::report_fatal_error(ErrorMessage);</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,250 @@
+<!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: CommonOptionsParser.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_14ab871e308b37f9042717085145c002.html">Tooling</a></li><li class="navelem"><a class="el" href="dir_88d92a3518b6d6dcb8dd1cee7c911282.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CommonOptionsParser.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommonOptionsParser_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/Tooling/Release+Asserts/CommonOptionsParser.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Tooling/Release+Asserts/CommonOptionsParser.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> CommonOptionsParser.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/CommonOptionsParser.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/CompilationDatabase.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/Tooling.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/ArgumentsAdjusters.h</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/CommonOptionsParser.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/CompilationDatabase.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/Tooling.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.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/Tooling/../../include/clang/Basic/FileManager.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/Tooling/../../include/clang/Basic/FileSystemOptions.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/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Tooling/../../include/clang/Driver/Util.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/Tooling/../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/VersionTuple.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/Optional.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/Triple.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/tools/clang/lib/Tooling/../../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="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Sanitizers.def:</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/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/FrontendOptions.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/tools/clang/lib/Tooling/../../include/clang/Frontend/CommandLineSourceLoc.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/Support/raw_ostream.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/tools/clang/lib/Tooling/../../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="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/Tooling/../../include/clang/Tooling/ArgumentsAdjusters.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommonOptionsParser_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: CommonOptionsParser.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_595f3151679c28f47cf4097124b3607a.html">Tooling</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CommonOptionsParser.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommonOptionsParser_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">//===- CommonOptionsParser.h - common options for clang tools -*- 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 CommonOptionsParser class used to parse common</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// command-line options for clang tools, so that they can be run as separate</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// command-line applications with a consistent common interface for handling</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// compilation database and input files.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// It provides a common subset of command-line options, common algorithm</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// for locating a compilation database and source files, and help messages</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// for the basic command-line interface.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// It creates a CompilationDatabase and reads common command-line options.</span></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">// This class uses the Clang Tooling infrastructure, see</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// for details on setting it up with LLVM source tree.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//===----------------------------------------------------------------------===//</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="preprocessor">#ifndef LLVM_TOOLS_CLANG_INCLUDE_CLANG_TOOLING_COMMONOPTIONSPARSER_H</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_TOOLS_CLANG_INCLUDE_CLANG_TOOLING_COMMONOPTIONSPARSER_H</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="CompilationDatabase_8h.html">clang/Tooling/CompilationDatabase.h</a>"</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">namespace </span>tooling {<span class="comment"></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/// \brief A parser for options common to all command-line Clang tools.</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">/// Parses a common subset of command-line arguments, locates and loads a</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/// compilation commands database and runs a tool with user-specified action. It</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/// also contains a help message for the common command-line options.</span></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">/// An example of usage:</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/// \code</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/// #include "clang/Frontend/FrontendActions.h"</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/// #include "clang/Tooling/CommonOptionsParser.h"</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/// #include "llvm/Support/CommandLine.h"</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/// using namespace clang::tooling;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/// using namespace llvm;</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/// static cl::extrahelp CommonHelp(CommonOptionsParser::HelpMessage);</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/// static cl::extrahelp MoreHelp("\nMore help text...");</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/// static cl:opt<bool> YourOwnOption(...);</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/// ...</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/// int main(int argc, const char **argv) {</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/// CommonOptionsParser OptionsParser(argc, argv);</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/// ClangTool Tool(OptionsParser.getCompilations(),</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/// OptionsParser.getSourcePathListi());</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/// return Tool.run(newFrontendActionFactory<clang::SyntaxOnlyAction>());</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/// }</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/// \endcode</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html"> 61</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html" title="A parser for options common to all command-line Clang tools.">CommonOptionsParser</a> {</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> /// \brief Parses command-line, initializes a compilation database.</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> /// This constructor can change argc and argv contents, e.g. consume</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> /// command-line options used for creating FixedCompilationDatabase.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> /// This constructor exits program in case of error.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"></span> <a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a25f4718183a7795db9abf74685c9f8fb" title="Parses command-line, initializes a compilation database. This constructor can change argc and argv co...">CommonOptionsParser</a>(<span class="keywordtype">int</span> &argc, <span class="keyword">const</span> <span class="keywordtype">char</span> **argv, <span class="keyword">const</span> <span class="keywordtype">char</span> *Overview = 0);</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> /// Returns a reference to the loaded compilations database.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a8a0268f7d528514c7737faaa9c91f168"> 70</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> &<a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a8a0268f7d528514c7737faaa9c91f168" title="Returns a reference to the loaded compilations database.">getCompilations</a>() {</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> *Compilations;</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"> /// Returns a list of source file paths to process.</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a1f45558bd6070c3af66d62c9d69cfb4a"> 75</a></span> <span class="comment"></span> std::vector<std::string> <a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#a1f45558bd6070c3af66d62c9d69cfb4a" title="Returns a list of source file paths to process.">getSourcePathList</a>() {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> SourcePathList;</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> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#af6a3cb3b487843823ca6e9b051f0b246"> 79</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code" href="classclang_1_1tooling_1_1CommonOptionsParser.html#af6a3cb3b487843823ca6e9b051f0b246">HelpMessage</a>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<CompilationDatabase></a> Compilations;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> std::vector<std::string> SourcePathList;</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">// namespace tooling</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> } <span class="comment">// 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 // LLVM_TOOLS_CLANG_INCLUDE_CLANG_TOOLING_COMMONOPTIONSPARSER_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabasePluginRegistry_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabasePluginRegistry_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabasePluginRegistry_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabasePluginRegistry_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,106 @@
+<!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: CompilationDatabasePluginRegistry.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_595f3151679c28f47cf4097124b3607a.html">Tooling</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CompilationDatabasePluginRegistry.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilationDatabasePluginRegistry_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">//===--- CompilationDatabasePluginRegistry.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> </div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#ifndef LLVM_CLANG_TOOLING_COMPILATION_DATABASE_PLUGIN_REGISTRY_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_TOOLING_COMPILATION_DATABASE_PLUGIN_REGISTRY_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="CompilationDatabase_8h.html">clang/Tooling/CompilationDatabase.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "llvm/Support/Registry.h"</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="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span>tooling {</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="code" href="namespaceclang_1_1tooling.html#a86cedd09c87896789cb6e3bf67d327ce"> 19</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html" title="Interface for compilation database plugins.">CompilationDatabasePlugin</a>;</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">typedef</span> llvm::Registry<CompilationDatabasePlugin></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <a class="code" href="namespaceclang_1_1tooling.html#a86cedd09c87896789cb6e3bf67d327ce">CompilationDatabasePluginRegistry</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> } <span class="comment">// end namespace tooling</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> } <span class="comment">// end namespace clang</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="preprocessor">#endif // LLVM_CLANG_TOOLING_COMPILATION_DATABASE_PLUGIN_REGISTRY_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,406 @@
+<!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: CompilationDatabase.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_14ab871e308b37f9042717085145c002.html">Tooling</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CompilationDatabase.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilationDatabase_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">//===--- CompilationDatabase.cpp - ----------------------------------------===//</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 contains implementations of the CompilationDatabase base class</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// and the FixedCompilationDatabase.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="CompilationDatabase_8h.html">clang/Tooling/CompilationDatabase.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="CompilationDatabasePluginRegistry_8h.html">clang/Tooling/CompilationDatabasePluginRegistry.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="Tooling_8h.html">clang/Tooling/Tooling.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "llvm/Support/system_error.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <sstream></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="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="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "<a class="code" href="Action_8h.html">clang/Driver/Action.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="Driver_8h.html">clang/Driver/Driver.h</a>"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="DriverDiagnostic_8h.html">clang/Driver/DriverDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="Job_8h.html">clang/Driver/Job.h</a>"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="Compilation_8h.html">clang/Driver/Compilation.h</a>"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="TextDiagnosticPrinter_8h.html">clang/Frontend/TextDiagnosticPrinter.h</a>"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "llvm/Support/Host.h"</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "llvm/Option/Arg.h"</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>tooling {</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a4668dc3183c8b0bc90d6a49f7399aecd"> 36</a></span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a4668dc3183c8b0bc90d6a49f7399aecd">CompilationDatabase::~CompilationDatabase</a>() {}</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a8f96205d22fd4da418c8efe460c5fd56"> 39</a></span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a8f96205d22fd4da418c8efe460c5fd56" title="Loads a compilation database from a build directory.">CompilationDatabase::loadFromDirectory</a>(StringRef BuildDirectory,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> std::string &ErrorMessage) {</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> std::stringstream ErrorStream;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">for</span> (CompilationDatabasePluginRegistry::iterator</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> It = CompilationDatabasePluginRegistry::begin(),</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> Ie = CompilationDatabasePluginRegistry::end();</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> It != Ie; ++It) {</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> std::string DatabaseErrorMessage;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<CompilationDatabasePlugin></a> Plugin(It->instantiate());</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *DB =</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> Plugin-><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a8f96205d22fd4da418c8efe460c5fd56" title="Loads a compilation database from a build directory.">loadFromDirectory</a>(BuildDirectory, DatabaseErrorMessage))</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> ErrorStream << It->getName() << <span class="stringliteral">": "</span> << DatabaseErrorMessage << <span class="stringliteral">"\n"</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> ErrorMessage = ErrorStream.str();</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="namespaceclang_1_1tooling.html#a5ffb4bfc6377f1d420ec7c54203b2df8"> 59</a></span> <a class="code" href="namespaceclang_1_1tooling.html#a5ffb4bfc6377f1d420ec7c54203b2df8">findCompilationDatabaseFromDirectory</a>(StringRef Directory,</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> std::string &ErrorMessage) {</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> std::stringstream ErrorStream;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">bool</span> HasErrorMessage = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">while</span> (!Directory.empty()) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> std::string LoadErrorMessage;</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> (<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *DB =</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a8f96205d22fd4da418c8efe460c5fd56" title="Loads a compilation database from a build directory.">CompilationDatabase::loadFromDirectory</a>(Directory, LoadErrorMessage))</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">if</span> (!HasErrorMessage) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> ErrorStream << <span class="stringliteral">"No compilation database found in "</span> << Directory.str()</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> << <span class="stringliteral">" or any parent directory\n"</span> << LoadErrorMessage;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> HasErrorMessage = <span class="keyword">true</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> </div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> Directory = llvm::sys::path::parent_path(Directory);</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> ErrorMessage = ErrorStream.str();</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> CompilationDatabase *</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a0519f5963f3bb5acb95fa046e03d82bc"> 83</a></span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a0519f5963f3bb5acb95fa046e03d82bc" title="Tries to detect a compilation database location and load it.">CompilationDatabase::autoDetectFromSource</a>(StringRef SourceFile,</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> std::string &ErrorMessage) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<1024></a> AbsolutePath(<a class="code" href="namespaceclang_1_1tooling.html#ad78472e30b8e8722145485caa2742f54" title="Returns the absolute path of File, by prepending it with the current directory if File is not absolut...">getAbsolutePath</a>(SourceFile));</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> StringRef Directory = llvm::sys::path::parent_path(AbsolutePath);</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> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *DB = <a class="code" href="namespaceclang_1_1tooling.html#a5ffb4bfc6377f1d420ec7c54203b2df8">findCompilationDatabaseFromDirectory</a>(Directory,</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> ErrorMessage);</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> (!DB)</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> ErrorMessage = (<span class="stringliteral">"Could not auto-detect compilation database for file \""</span> +</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> SourceFile + <span class="stringliteral">"\"\n"</span> + ErrorMessage).str();</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> DB;</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="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *</div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a06648beb4d3038dad6cd52fe06b0a028"> 98</a></span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a06648beb4d3038dad6cd52fe06b0a028" title="Tries to detect a compilation database location and load it.">CompilationDatabase::autoDetectFromDirectory</a>(StringRef SourceDir,</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> std::string &ErrorMessage) {</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<1024></a> AbsolutePath(<a class="code" href="namespaceclang_1_1tooling.html#ad78472e30b8e8722145485caa2742f54" title="Returns the absolute path of File, by prepending it with the current directory if File is not absolut...">getAbsolutePath</a>(SourceDir));</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> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *DB = <a class="code" href="namespaceclang_1_1tooling.html#a5ffb4bfc6377f1d420ec7c54203b2df8">findCompilationDatabaseFromDirectory</a>(AbsolutePath,</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> ErrorMessage);</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="keywordflow">if</span> (!DB)</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> ErrorMessage = (<span class="stringliteral">"Could not auto-detect compilation database from directory \""</span> +</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> SourceDir + <span class="stringliteral">"\"\n"</span> + ErrorMessage).str();</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html#a1c2904ea404d25d18acd250d8792e4de"> 111</a></span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html#a1c2904ea404d25d18acd250d8792e4de">CompilationDatabasePlugin::~CompilationDatabasePlugin</a>() {}</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// Helper for recursively searching through a chain of actions and collecting</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// all inputs, direct and indirect, of compile jobs.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html"> 115</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html">CompileJobAnalyzer</a> {</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a64f006841456704cabeaad170c449371"> 116</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a64f006841456704cabeaad170c449371">run</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Action.html">driver::Action</a> *A) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> runImpl(A, <span class="keyword">false</span>);</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="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a89c3be9e938cfb090078a7e01cd557d1"> 120</a></span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<std::string, 2></a> <a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a89c3be9e938cfb090078a7e01cd557d1">Inputs</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">private</span>:</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="keywordtype">void</span> runImpl(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Action.html">driver::Action</a> *A, <span class="keywordtype">bool</span> Collect) {</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">bool</span> CollectChildren = Collect;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">switch</span> (A-><a class="code" href="classclang_1_1driver_1_1Action.html#a6f74dd0080b21b8ca8f9479a8f7eef8c">getKind</a>()) {</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1driver_1_1Action.html#af593898af4be6070eaf4b1a7ea861700aa9cea83154785da25099480d5bc2ab13">driver::Action::CompileJobClass</a>:</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> CollectChildren = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">break</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> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1driver_1_1Action.html#af593898af4be6070eaf4b1a7ea861700afc7c4617f3ea06d0c663703d0162a9f6">driver::Action::InputClass</a>: {</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (Collect) {</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1InputAction.html">driver::InputAction</a> *IA = cast<driver::InputAction>(A);</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a89c3be9e938cfb090078a7e01cd557d1">Inputs</a>.push_back(IA-><a class="code" href="classclang_1_1driver_1_1InputAction.html#a596cca4982b169ac8b610b88bf779497">getInputArg</a>().getSpelling());</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> } <span class="keywordflow">break</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> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// Don't care about others</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> }</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span> (driver::ActionList::const_iterator I = A-><a class="code" href="classclang_1_1driver_1_1Action.html#a5f5f713cfeadf8708788ccfb88dd001e">begin</a>(), E = A-><a class="code" href="classclang_1_1driver_1_1Action.html#abef57633338ff7105f7d8ce4a954a2a8">end</a>();</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> I != E; ++I)</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> runImpl(*I, CollectChildren);</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> };</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// Special DiagnosticConsumer that looks for warn_drv_input_file_unused</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">// diagnostics from the driver and collects the option strings for those unused</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// options.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html"> 152</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html">UnusedInputDiagConsumer</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> {</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#aa7c579549933edf1af6a67e150317932"> 154</a></span> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#aa7c579549933edf1af6a67e150317932">UnusedInputDiagConsumer</a>() : <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a507de3e778b0c8992ad928bd9ada55f6">Other</a>(0) {}</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> <span class="comment">// Useful for debugging, chain diagnostics to another consumer after</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">// recording for our own purposes.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#aba3d79fcea678c44695b28de7062d2ae"> 158</a></span> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#aba3d79fcea678c44695b28de7062d2ae">UnusedInputDiagConsumer</a>(<a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *<a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a507de3e778b0c8992ad928bd9ada55f6">Other</a>) : Other(Other) {}</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a07bb7f44790b449d7bf288798bb018f6"> 160</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a07bb7f44790b449d7bf288798bb018f6" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">HandleDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> DiagLevel,</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info) LLVM_OVERRIDE {</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (Info.getID() == clang::diag::warn_drv_input_file_unused) {</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">// Arg 1 for this diagnostic is the option that didn't get used.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a6dc208773ce571835015aa55cfc6d529">UnusedInputs</a>.push_back(Info.getArgStdStr(0));</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> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a507de3e778b0c8992ad928bd9ada55f6">Other</a>)</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a507de3e778b0c8992ad928bd9ada55f6">Other</a>-><a class="code" href="classclang_1_1DiagnosticConsumer.html#a4e2f11fcedb8495fe184b8adbd589708" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">HandleDiagnostic</a>(DiagLevel, Info);</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> </div>
+<div class="line"><a name="l00170"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a507de3e778b0c8992ad928bd9ada55f6"> 170</a></span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *<a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a507de3e778b0c8992ad928bd9ada55f6">Other</a>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a6dc208773ce571835015aa55cfc6d529"> 171</a></span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<std::string, 2></a> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a6dc208773ce571835015aa55cfc6d529">UnusedInputs</a>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> };</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// Unary functor for asking "Given a StringRef S1, does there exist a string</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// S2 in Arr where S1 == S2?"</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1MatchesAny.html"> 176</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1tooling_1_1MatchesAny.html">MatchesAny</a> {</div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1MatchesAny.html#a59ea06306e0b2080aa65eb7651fc2f05"> 177</a></span> <a class="code" href="structclang_1_1tooling_1_1MatchesAny.html#a59ea06306e0b2080aa65eb7651fc2f05">MatchesAny</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<std::string></a> Arr) : Arr(Arr) {}</div>
+<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1MatchesAny.html#a131b5146b611112d79cbd960a6627329"> 178</a></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1tooling_1_1MatchesAny.html#a131b5146b611112d79cbd960a6627329">operator() </a>(StringRef <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> std::string *I = Arr.begin(), *E = Arr.end(); I != E; ++I)</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (*I == S)</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<std::string></a> Arr;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> };</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"></span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/// \brief Strips any positional args and possible argv[0] from a command-line</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/// provided by the user to construct a FixedCompilationDatabase.</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">/// FixedCompilationDatabase requires a command line to be in this format as it</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/// constructs the command line for each file by appending the name of the file</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/// to be compiled. FixedCompilationDatabase also adds its own argv[0] to the</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/// start of the command line although its value is not important as it's just</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/// ignored by the Driver invoked by the ClangTool using the</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/// FixedCompilationDatabase.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/// FIXME: This functionality should probably be made available by</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/// clang::driver::Driver although what the interface should look like is not</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/// clear.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/// \param[in] Args Args as provided by the user.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/// \return Resulting stripped command line.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/// \li true if successful.</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/// \li false if \c Args cannot be used for compilation jobs (e.g.</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/// contains an option like -E or -version).</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="namespaceclang_1_1tooling.html#a1b612e54b78a4a94b7c2ed03bb32df09"> 207</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1tooling.html#a1b612e54b78a4a94b7c2ed03bb32df09" title="Strips any positional args and possible argv[0] from a command-line provided by the user to construct...">stripPositionalArgs</a>(std::vector<const char *> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> std::vector<std::string> &Result) {</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticOptions></a> DiagOpts = <span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a>();</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html">UnusedInputDiagConsumer</a> DiagClient;</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> Diagnostics(</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<clang::DiagnosticIDs></a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticIDs.html" title="Used for handling and querying diagnostic IDs.">DiagnosticIDs</a>()),</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> &*DiagOpts, &DiagClient, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">// Neither clang executable nor default image name are required since the</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// jobs the driver builds will not be executed.</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<driver::Driver></a> NewDriver(<span class="keyword">new</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">driver::Driver</a>(</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/* ClangExecutable= */</span> <span class="stringliteral">""</span>, llvm::sys::getDefaultTargetTriple(),</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* DefaultImageName= */</span> <span class="stringliteral">""</span>, Diagnostics));</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> NewDriver->setCheckInputsExist(<span class="keyword">false</span>);</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">// This becomes the new argv[0]. The value is actually not important as it</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">// isn't used for invoking Tools.</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> Args.insert(Args.begin(), <span class="stringliteral">"clang-tool"</span>);</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// By adding -c, we force the driver to treat compilation as the last phase.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">// It will then issue warnings via Diagnostics about un-used options that</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">// would have been used for linking. If the user provided a compiler name as</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// the original argv[0], this will be treated as a linker input thanks to</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// insertng a new argv[0] above. All un-used options get collected by</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">// UnusedInputdiagConsumer and get stripped out later.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> Args.push_back(<span class="stringliteral">"-c"</span>);</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">// Put a dummy C++ file on to ensure there's at least one compile job for the</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">// driver to construct. If the user specified some other argument that</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">// prevents compilation, e.g. -E or something like -version, we may still end</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// up with no jobs but then this is the user's fault.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> Args.push_back(<span class="stringliteral">"placeholder.cpp"</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> <span class="keyword">const</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<driver::Compilation></a> Compilation(</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> NewDriver->BuildCompilation(Args));</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobList.html" title="JobList - A sequence of jobs to perform.">driver::JobList</a> &Jobs = Compilation-><a class="code" href="classclang_1_1driver_1_1JobList.html#a13d61322cf229cc8ce52421db89a0f4e">getJobs</a>();</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> <a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html">CompileJobAnalyzer</a> CompileAnalyzer;</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> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1driver_1_1JobList.html#a90d7489ef37681b67257498f301b6abe">driver::JobList::const_iterator</a> I = Jobs.begin(), E = Jobs.end(); I != E;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> ++I) {</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span> ((*I)->getKind() == <a class="code" href="classclang_1_1driver_1_1Job.html#a0b587535d9a877381fa2bd021717325ca490e8d93611abf651a5884616085adaf">driver::Job::CommandClass</a>) {</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">driver::Command</a> *Cmd = cast<driver::Command>(*I);</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">// Collect only for Assemble jobs. If we do all jobs we get duplicates</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// since Link jobs point to Assemble jobs as inputs.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (Cmd-><a class="code" href="classclang_1_1driver_1_1Command.html#a7a55e2e356c871b97582852d93e1bfb1" title="getSource - Return the Action which caused the creation of this job.">getSource</a>().<a class="code" href="classclang_1_1driver_1_1Action.html#a6f74dd0080b21b8ca8f9479a8f7eef8c">getKind</a>() == <a class="code" href="classclang_1_1driver_1_1Action.html#af593898af4be6070eaf4b1a7ea861700a89e9db1c6bae75083b1fcd96b1ca3f5e">driver::Action::AssembleJobClass</a>)</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> CompileAnalyzer.<a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a64f006841456704cabeaad170c449371">run</a>(&Cmd-><a class="code" href="classclang_1_1driver_1_1Command.html#a7a55e2e356c871b97582852d93e1bfb1" title="getSource - Return the Action which caused the creation of this job.">getSource</a>());</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (CompileAnalyzer.<a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a89c3be9e938cfb090078a7e01cd557d1">Inputs</a>.empty()) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// No compile jobs found.</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">// FIXME: Emit a warning of some kind?</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">// Remove all compilation input files from the command line. This is</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">// necessary so that getCompileCommands() can construct a command line for</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">// each file.</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> std::vector<const char *>::iterator End = std::remove_if(</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> Args.begin(), Args.end(), <a class="code" href="structclang_1_1tooling_1_1MatchesAny.html">MatchesAny</a>(CompileAnalyzer.<a class="code" href="structclang_1_1tooling_1_1CompileJobAnalyzer.html#a89c3be9e938cfb090078a7e01cd557d1">Inputs</a>));</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> <span class="comment">// Remove all inputs deemed unused for compilation.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> End = std::remove_if(Args.begin(), End, <a class="code" href="structclang_1_1tooling_1_1MatchesAny.html">MatchesAny</a>(DiagClient.<a class="code" href="classclang_1_1tooling_1_1UnusedInputDiagConsumer.html#a6dc208773ce571835015aa55cfc6d529">UnusedInputs</a>));</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">// Remove the -c add above as well. It will be at the end right now.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> --End;</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> Result = std::vector<std::string>(Args.begin() + 1, End);</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> FixedCompilationDatabase *</div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a91e2eab2e10f31074aebaed1ed18c791"> 281</a></span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a91e2eab2e10f31074aebaed1ed18c791" title="Creates a FixedCompilationDatabase from the arguments after "–".">FixedCompilationDatabase::loadFromCommandLine</a>(<span class="keywordtype">int</span> &Argc,</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">const</span> <span class="keywordtype">char</span> **Argv,</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> Twine Directory) {</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">const</span> <span class="keywordtype">char</span> **DoubleDash = std::find(Argv, Argv + Argc, StringRef(<span class="stringliteral">"--"</span>));</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (DoubleDash == Argv + Argc)</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> std::vector<const char *> <a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>(DoubleDash + 1, Argv + Argc);</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> Argc = DoubleDash - Argv;</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> std::vector<std::string> StrippedArgs;</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang_1_1tooling.html#a1b612e54b78a4a94b7c2ed03bb32df09" title="Strips any positional args and possible argv[0] from a command-line provided by the user to construct...">stripPositionalArgs</a>(CommandLine, StrippedArgs))</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#af6346d40e324594d89ced97f0b3bd1fe" title="Constructs a compilation data base from a specified directory and command line.">FixedCompilationDatabase</a>(Directory, StrippedArgs);</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#af6346d40e324594d89ced97f0b3bd1fe" title="Constructs a compilation data base from a specified directory and command line.">FixedCompilationDatabase::</a></div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#af6346d40e324594d89ced97f0b3bd1fe"> 297</a></span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#af6346d40e324594d89ced97f0b3bd1fe" title="Constructs a compilation data base from a specified directory and command line.">FixedCompilationDatabase</a>(Twine Directory, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<std::string></a> <a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>) {</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> std::vector<std::string> ToolCommandLine(1, <span class="stringliteral">"clang-tool"</span>);</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> ToolCommandLine.insert(ToolCommandLine.end(),</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> CommandLine.begin(), CommandLine.end());</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> CompileCommands.push_back(<a class="code" href="structclang_1_1tooling_1_1CompileCommand.html" title="Specifies the working directory and command of a compilation.">CompileCommand</a>(Directory, ToolCommandLine));</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> </div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> std::vector<CompileCommand></div>
+<div class="line"><a name="l00305"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#ad90268d9c7972265869034648b73a921"> 305</a></span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#ad90268d9c7972265869034648b73a921" title="Returns the given compile command.">FixedCompilationDatabase::getCompileCommands</a>(StringRef FilePath)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> std::vector<CompileCommand> Result(CompileCommands);</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> Result[0].CommandLine.push_back(FilePath);</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">return</span> Result;</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> </div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> std::vector<std::string></div>
+<div class="line"><a name="l00312"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a40a6b94d556907cdc73409a861c8ea1c"> 312</a></span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a40a6b94d556907cdc73409a861c8ea1c" title="Returns the list of all files available in the compilation database.">FixedCompilationDatabase::getAllFiles</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">return</span> std::vector<std::string>();</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> </div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> std::vector<CompileCommand></div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a0c410c01fbfa64f4424a9b4c3c66f155"> 317</a></span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a0c410c01fbfa64f4424a9b4c3c66f155" title="Returns all compile commands for all the files in the compilation database.">FixedCompilationDatabase::getAllCompileCommands</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span> std::vector<CompileCommand>();</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> </div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// This anchor is used to force the linker to link in the generated object file</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">// and thus register the JSONCompilationDatabasePlugin.</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keywordtype">int</span> <a class="code" href="namespaceclang_1_1tooling.html#a06e86121c34cc5335de6aacec0de6c2b">JSONAnchorSource</a>;</div>
+<div class="line"><a name="l00324"></a><span class="lineno"><a class="code" href="namespaceclang_1_1tooling.html#a20bafb8d0caddec9f036553cd7f973c8"> 324</a></span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="namespaceclang_1_1tooling.html#a20bafb8d0caddec9f036553cd7f973c8">JSONAnchorDest</a> = <a class="code" href="namespaceclang_1_1tooling.html#a06e86121c34cc5335de6aacec0de6c2b">JSONAnchorSource</a>;</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">// end namespace tooling</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> } <span class="comment">// end namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,304 @@
+<!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: CompilationDatabase.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_14ab871e308b37f9042717085145c002.html">Tooling</a></li><li class="navelem"><a class="el" href="dir_88d92a3518b6d6dcb8dd1cee7c911282.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CompilationDatabase.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilationDatabase_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/Tooling/Release+Asserts/CompilationDatabase.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Tooling/Release+Asserts/CompilationDatabase.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> CompilationDatabase.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/CompilationDatabase.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/<a class="code" href="namespaceclang_1_1tooling.html#a86cedd09c87896789cb6e3bf67d327ce">CompilationDatabasePluginRegistry</a>.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/Support/Registry.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/Tooling.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../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="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/ArgumentsAdjusters.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Types.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Phases.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Types.def \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Driver.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/DriverDiagnostic.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticDriverKinds.inc \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Job.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/include/llvm/Option/Option.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Compilation.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Frontend/TextDiagnosticPrinter.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/include/llvm/Support/Host.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/include/llvm/Option/Arg.h</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/CompilationDatabase.h:</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/<a class="code" href="namespaceclang_1_1tooling.html#a86cedd09c87896789cb6e3bf67d327ce">CompilationDatabasePluginRegistry</a>.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/include/llvm/Support/Registry.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/Tooling.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Tooling/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Tooling/../../include/clang/Basic/DiagnosticOptions.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/Tooling/../../include/clang/Basic/DiagnosticOptions.def:</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/Tooling/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.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/Tooling/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/FileSystemOptions.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/ADT/StringMap.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/Support/FileSystem.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/SmallString.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/Support/TimeValue.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/Support/system_error.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/tools/clang/lib/Tooling/../../include/clang/Driver/Util.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/tools/clang/lib/Tooling/../../include/clang/Frontend/FrontendAction.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/tools/clang/lib/Tooling/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Basic/ObjCRuntime.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/tools/clang/lib/Tooling/../../include/clang/Basic/VersionTuple.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/Optional.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/Triple.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/Tooling/../../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="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/Tooling/../../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="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/Tooling/../../include/clang/Basic/Sanitizers.def:</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/Tooling/../../include/clang/Basic/LangOptions.def:</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/Tooling/../../include/clang/Basic/OpenCLExtensions.def:</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/Tooling/../../include/clang/Frontend/FrontendOptions.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/Tooling/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.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/Tooling/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Tooling/ArgumentsAdjusters.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> /home/tstellar/llvm/include/llvm/Support/Path.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/Tooling/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Types.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/Tooling/../../include/clang/Driver/Phases.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/Tooling/../../include/clang/Driver/Types.def:</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/Tooling/../../include/clang/Driver/Driver.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/DriverDiagnostic.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/Tooling/../../include/clang/Basic/DiagnosticDriverKinds.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/Tooling/../../include/clang/Driver/Job.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/Option/Option.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/Option/OptTable.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/StringSet.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/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> /home/tstellar/llvm/tools/clang/lib/Tooling/../../include/clang/Driver/Compilation.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/Tooling/../../include/clang/Frontend/TextDiagnosticPrinter.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> /home/tstellar/llvm/include/llvm/Support/Host.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/Option/Arg.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilationDatabase_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,295 @@
+<!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: CompilationDatabase.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_595f3151679c28f47cf4097124b3607a.html">Tooling</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CompilationDatabase.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilationDatabase_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">//===--- CompilationDatabase.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">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file provides an interface and multiple implementations for</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// CompilationDatabases.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// While C++ refactoring and analysis tools are not compilers, and thus</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// don't run as part of the build system, they need the exact information</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// of a build in order to be able to correctly understand the C++ code of</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// the project. This information is provided via the CompilationDatabase</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// interface.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// To create a CompilationDatabase from a build directory one can call</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// CompilationDatabase::loadFromDirectory(), which deduces the correct</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// compilation database from the root of the build tree.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// See the concrete subclasses of CompilationDatabase for currently supported</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// formats.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//===----------------------------------------------------------------------===//</span></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="preprocessor">#ifndef LLVM_CLANG_TOOLING_COMPILATION_DATABASE_H</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_TOOLING_COMPILATION_DATABASE_H</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "llvm/ADT/StringRef.h"</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "llvm/ADT/Twine.h"</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <vector></span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span>tooling {</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/// \brief Specifies the working directory and command of a compilation.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html"> 43</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html" title="Specifies the working directory and command of a compilation.">CompileCommand</a> {</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#aea236be59dfb9e6cf44ffec6f5a49d90"> 44</a></span> <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#aea236be59dfb9e6cf44ffec6f5a49d90">CompileCommand</a>() {}</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a88394428c21ffbf65bbd3cf64687c62d"> 45</a></span> <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#aea236be59dfb9e6cf44ffec6f5a49d90">CompileCommand</a>(Twine <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a47d349cba9b388ec7949efbb0faae521" title="The working directory the command was executed from.">Directory</a>, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<std::string></a> <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a94729fa03d1ab3181885db309a2ef29a" title="The command line that was executed.">CommandLine</a>)</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> : Directory(Directory.str()), CommandLine(CommandLine) {}</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"></span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> /// \brief The working directory the command was executed from.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a47d349cba9b388ec7949efbb0faae521"> 49</a></span> <span class="comment"></span> std::string <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a47d349cba9b388ec7949efbb0faae521" title="The working directory the command was executed from.">Directory</a>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> /// \brief The command line that was executed.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a94729fa03d1ab3181885db309a2ef29a"> 52</a></span> <span class="comment"></span> std::vector<std::string> <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#a94729fa03d1ab3181885db309a2ef29a" title="The command line that was executed.">CommandLine</a>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> /// \brief An optional mapping from each file's path to its content for all</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> /// files needed for the compilation that are not available via the file</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> /// system.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> /// Note that a tool implementation is required to fall back to the file</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> /// system if a source file is not provided in the mapped sources, as</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> /// compilation databases will usually not provide all files in mapped sources</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> /// for performance reasons.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#abc7f93f6575e0074cc0dce5e943ba34e"> 62</a></span> <span class="comment"></span> std::vector<std::pair<std::string, std::string> > <a class="code" href="structclang_1_1tooling_1_1CompileCommand.html#abc7f93f6575e0074cc0dce5e943ba34e" title="An optional mapping from each file's path to its content for all files needed for the compilation tha...">MappedSources</a>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> };</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"></span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/// \brief Interface for compilation databases.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/// A compilation database allows the user to retrieve all compile command lines</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/// that a specified file is compiled with in a project.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/// The retrieved compile command lines can be used to run clang tools over</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/// a subset of the files in a project.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html"> 71</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a4668dc3183c8b0bc90d6a49f7399aecd">~CompilationDatabase</a>();</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> /// \brief Loads a compilation database from a build directory.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> /// Looks at the specified 'BuildDirectory' and creates a compilation database</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> /// that allows to query compile commands for source files in the</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> /// corresponding source tree.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> /// Returns NULL and sets ErrorMessage if we were not able to build up a</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> /// compilation database for the build directory.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> /// FIXME: Currently only supports JSON compilation databases, which</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> /// are named 'compile_commands.json' in the given directory. Extend this</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> /// for other build types (like ninja build files).</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a8f96205d22fd4da418c8efe460c5fd56" title="Loads a compilation database from a build directory.">loadFromDirectory</a>(StringRef BuildDirectory,</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> std::string &ErrorMessage);</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> /// \brief Tries to detect a compilation database location and load it.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> /// Looks for a compilation database in all parent paths of file 'SourceFile'</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> /// by calling loadFromDirectory.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a0519f5963f3bb5acb95fa046e03d82bc" title="Tries to detect a compilation database location and load it.">autoDetectFromSource</a>(StringRef SourceFile,</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> std::string &ErrorMessage);</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> /// \brief Tries to detect a compilation database location and load it.</span></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"> /// Looks for a compilation database in directory 'SourceDir' and all</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// its parent paths by calling loadFromDirectory.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *<a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a06648beb4d3038dad6cd52fe06b0a028" title="Tries to detect a compilation database location and load it.">autoDetectFromDirectory</a>(StringRef SourceDir,</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> std::string &ErrorMessage);</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// \brief Returns all compile commands in which the specified file was</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> /// compiled.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> /// This includes compile comamnds that span multiple source files.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// For example, consider a project with the following compilations:</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// $ clang++ -o test a.cc b.cc t.cc</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// $ clang++ -o production a.cc b.cc -DPRODUCTION</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> /// A compilation database representing the project would return both command</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> /// lines for a.cc and b.cc and only the first command line for t.cc.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"></span> <span class="keyword">virtual</span> std::vector<CompileCommand> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#a13ccee206f7d6612fca957bca56010c2" title="Returns all compile commands in which the specified file was compiled.">getCompileCommands</a>(</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> StringRef FilePath) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// \brief Returns the list of all files available in the compilation database.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"></span> <span class="keyword">virtual</span> std::vector<std::string> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#ab769dcdb84e2875866c3344ae30898e2" title="Returns the list of all files available in the compilation database.">getAllFiles</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> /// \brief Returns all compile commands for all the files in the compilation</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> /// database.</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"> /// FIXME: Add a layer in Tooling that provides an interface to run a tool</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> /// over all files in a compilation database. Not all build systems have the</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> /// ability to provide a feasible implementation for \c getAllCompileCommands.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"></span> <span class="keyword">virtual</span> std::vector<CompileCommand> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html#af29e5f26a2687b8176c666d92a5ac8ac" title="Returns all compile commands for all the files in the compilation database.">getAllCompileCommands</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> };</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/// \brief Interface for compilation database plugins.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/// A compilation database plugin allows the user to register custom compilation</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/// databases that are picked up as compilation database if the corresponding</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/// library is linked in. To register a plugin, declare a static variable like:</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/// \code</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/// static CompilationDatabasePluginRegistry::Add<MyDatabasePlugin></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/// X("my-compilation-database", "Reads my own compilation database");</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/// \endcode</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html"> 138</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html" title="Interface for compilation database plugins.">CompilationDatabasePlugin</a> {</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html#a1c2904ea404d25d18acd250d8792e4de">~CompilationDatabasePlugin</a>();</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> /// \brief Loads a compilation database from a build directory.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> /// \see CompilationDatabase::loadFromDirectory().</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> *<a class="code" href="classclang_1_1tooling_1_1CompilationDatabasePlugin.html#ad4bf8ca81edca18c2769679896e61c4e" title="Loads a compilation database from a build directory.">loadFromDirectory</a>(StringRef Directory,</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> std::string &ErrorMessage) = 0;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> };</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"></span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/// \brief A compilation database that returns a single compile command line.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/// Useful when we want a tool to behave more like a compiler invocation.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html"> 152</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html" title="A compilation database that returns a single compile command line.">FixedCompilationDatabase</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1tooling_1_1CompilationDatabase.html" title="Interface for compilation databases.">CompilationDatabase</a> {</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> /// \brief Creates a FixedCompilationDatabase from the arguments after "--".</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> /// Parses the given command line for "--". If "--" is found, the rest of</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> /// the arguments will make up the command line in the returned</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> /// FixedCompilationDatabase.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> /// The arguments after "--" must not include positional parameters or the</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> /// argv[0] of the tool. Those will be added by the FixedCompilationDatabase</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> /// when a CompileCommand is requested. The argv[0] of the returned command</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> /// line will be "clang-tool".</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> /// Returns NULL in case "--" is not found.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> /// The argument list is meant to be compatible with normal llvm command line</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> /// parsing in main methods.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> /// int main(int argc, char **argv) {</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> /// OwningPtr<FixedCompilationDatabase> Compilations(</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> /// FixedCompilationDatabase::loadFromCommandLine(argc, argv));</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> /// cl::ParseCommandLineOptions(argc, argv);</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> /// ...</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> /// \param Argc The number of command line arguments - will be changed to</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> /// the number of arguments before "--", if "--" was found in the argument</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> /// list.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> /// \param Argv Points to the command line arguments.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> /// \param Directory The base directory used in the FixedCompilationDatabase.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html" title="A compilation database that returns a single compile command line.">FixedCompilationDatabase</a> *<a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a91e2eab2e10f31074aebaed1ed18c791" title="Creates a FixedCompilationDatabase from the arguments after "–".">loadFromCommandLine</a>(<span class="keywordtype">int</span> &Argc,</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">const</span> <span class="keywordtype">char</span> **Argv,</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> Twine Directory = <span class="stringliteral">"."</span>);</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"></span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> /// \brief Constructs a compilation data base from a specified directory</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> /// and command line.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"></span> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#af6346d40e324594d89ced97f0b3bd1fe" title="Constructs a compilation data base from a specified directory and command line.">FixedCompilationDatabase</a>(Twine Directory, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<std::string></a> <a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>);</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"></span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> /// \brief Returns the given compile command.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> /// Will always return a vector with one entry that contains the directory</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> /// and command line specified at construction with "clang-tool" as argv[0]</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> /// and 'FilePath' as positional argument.</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"></span> <span class="keyword">virtual</span> std::vector<CompileCommand> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#ad90268d9c7972265869034648b73a921" title="Returns the given compile command.">getCompileCommands</a>(</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> StringRef FilePath) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> /// \brief Returns the list of all files available in the compilation database.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> /// Note: This is always an empty list for the fixed compilation database.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"></span> <span class="keyword">virtual</span> std::vector<std::string> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a40a6b94d556907cdc73409a861c8ea1c" title="Returns the list of all files available in the compilation database.">getAllFiles</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"></span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> /// \brief Returns all compile commands for all the files in the compilation</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> /// database.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> /// Note: This is always an empty list for the fixed compilation database.</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"></span> <span class="keyword">virtual</span> std::vector<CompileCommand> <a class="code" href="classclang_1_1tooling_1_1FixedCompilationDatabase.html#a0c410c01fbfa64f4424a9b4c3c66f155" title="Returns all compile commands for all the files in the compilation database.">getAllCompileCommands</a>() <span class="keyword">const</span>;</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> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> /// This is built up to contain a single entry vector to be returned from</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> /// getCompileCommands after adding the positional argument.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"></span> std::vector<CompileCommand> CompileCommands;</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> };</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> } <span class="comment">// end namespace tooling</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#endif // LLVM_CLANG_TOOLING_COMPILATION_DATABASE_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,322 @@
+<!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: Compilation.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_79a4e43f5883e96ea4f45c2e67339e2c.html">Driver</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Compilation.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Compilation_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">//===--- Compilation.cpp - Compilation Task Implementation ----------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="Compilation_8h.html">clang/Driver/Compilation.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="Action_8h.html">clang/Driver/Action.h</a>"</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="Driver_8h.html">clang/Driver/Driver.h</a>"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="DriverDiagnostic_8h.html">clang/Driver/DriverDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">clang/Driver/Options.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="ToolChain_8h.html">clang/Driver/ToolChain.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "llvm/ADT/STLExtras.h"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "llvm/Option/ArgList.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <errno.h></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <sys/stat.h></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">using namespace </span>clang::driver;</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">using namespace </span>llvm::opt;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a8dc584bdb5bcd9290f8c2c8d970b1ec2"> 27</a></span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a8dc584bdb5bcd9290f8c2c8d970b1ec2">Compilation::Compilation</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &_DefaultToolChain,</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> InputArgList *_Args, DerivedArgList *_TranslatedArgs)</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> : TheDriver(D), DefaultToolChain(_DefaultToolChain), <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>(_Args),</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> TranslatedArgs(_TranslatedArgs), Redirects(0) {</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> </div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a4cc46a1f22c9c04872e9d9e016b12088"> 33</a></span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a4cc46a1f22c9c04872e9d9e016b12088">Compilation::~Compilation</a>() {</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">delete</span> TranslatedArgs;</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">delete</span> Args;</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="comment">// Free any derived arg lists.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">for</span> (llvm::DenseMap<std::pair<const ToolChain*, const char*>,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> DerivedArgList*>::iterator it = TCArgs.begin(),</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> ie = TCArgs.end(); it != ie; ++it)</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (it->second != TranslatedArgs)</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">delete</span> it->second;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// Free the actions, if built.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">for</span> (ActionList::iterator it = Actions.begin(), ie = Actions.end();</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> it != ie; ++it)</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">delete</span> *it;</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="comment">// Free redirections of stdout/stderr.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (Redirects) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">delete</span> Redirects[1];</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">delete</span> Redirects[2];</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">delete</span> [] Redirects;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a90be4f0c82ee360f4f0c54b14d56df70"> 57</a></span> <span class="keyword">const</span> DerivedArgList &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a90be4f0c82ee360f4f0c54b14d56df70">Compilation::getArgsForToolChain</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> *TC,</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *BoundArch) {</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (!TC)</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> TC = &DefaultToolChain;</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> DerivedArgList *&Entry = TCArgs[std::make_pair(TC, BoundArch)];</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (!Entry) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> Entry = TC-><a class="code" href="classclang_1_1driver_1_1ToolChain.html#aa8f336dc0b1282dbcc987836ce8b0547">TranslateArgs</a>(*TranslatedArgs, BoundArch);</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (!Entry)</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> Entry = TranslatedArgs;</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">return</span> *Entry;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#ab557852d0ec596e76558d8224b598af5"> 72</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab557852d0ec596e76558d8224b598af5">Compilation::CleanupFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *File, <span class="keywordtype">bool</span> IssueErrors)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> std::string <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>(File);</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">// FIXME: Why are we trying to remove files that we have not created? For</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// example we should only try to remove a temporary assembly file if</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// "clang -cc1" succeed in writing it. Was this a workaround for when</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// clang was writing directly to a .s file and sometimes leaving it behind</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// during a failure?</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">// FIXME: If this is necessary, we can still try to split</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">// llvm::sys::fs::remove into a removeFile and a removeDir and avoid the</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// duplicated stat from is_regular_file.</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> <span class="comment">// Don't try to remove files which we don't have write access to (but may be</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// able to remove), or non-regular files. Underlying tools may have</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// intentionally not overwritten them.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (!llvm::sys::fs::can_write(File) || !llvm::sys::fs::is_regular_file(File))</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> (llvm::error_code EC = llvm::sys::fs::remove(File)) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">// Failure is only failure if the file exists and is "regular". We checked</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// for it being regular before, and llvm::sys::fs::remove ignores ENOENT,</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// so we don't need to check again.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span> (IssueErrors)</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(clang::diag::err_drv_unable_to_remove_file)</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> << EC.message();</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a62e4310546e96bfd1d22c0b4c5fd549e"> 104</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a62e4310546e96bfd1d22c0b4c5fd549e">Compilation::CleanupFileList</a>(<span class="keyword">const</span> ArgStringList &Files,</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">bool</span> IssueErrors)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">bool</span> Success = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">for</span> (ArgStringList::const_iterator</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> it = Files.begin(), ie = Files.end(); it != ie; ++it)</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> Success &= <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab557852d0ec596e76558d8224b598af5">CleanupFile</a>(*it, IssueErrors);</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> Success;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#ab1d4bfaa90951246840c67ea683ae511"> 113</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab1d4bfaa90951246840c67ea683ae511">Compilation::CleanupFileMap</a>(<span class="keyword">const</span> <a class="code" href="namespaceclang_1_1driver.html#a4c9e65b15a588b56e1f62cd0407f78b8" title="ArgStringMap - Type used to map a JobAction to its result file.">ArgStringMap</a> &Files,</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobAction.html">JobAction</a> *JA,</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">bool</span> IssueErrors)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">bool</span> Success = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">for</span> (ArgStringMap::const_iterator</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> it = Files.begin(), ie = Files.end(); it != ie; ++it) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// If specified, only delete the files associated with the JobAction.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// Otherwise, delete all files in the map.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (JA && it->first != JA)</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> Success &= <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab557852d0ec596e76558d8224b598af5">CleanupFile</a>(it->second, IssueErrors);</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="keywordflow">return</span> Success;</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_1driver_1_1Compilation.html#a8580d6cae43e8b9c6b8a8ac3bf2b982a"> 129</a></span> <span class="keywordtype">int</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a8580d6cae43e8b9c6b8a8ac3bf2b982a">Compilation::ExecuteCommand</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> &C,</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> *&FailingCommand)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> ((<a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCPrintOptions ||</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a261fb02611346de2de06a1045e72023d">getArgs</a>().hasArg(options::OPT_v)) && !<a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCGenDiagnostics) {</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> raw_ostream *OS = &llvm::errs();</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">// Follow gcc implementation of CC_PRINT_OPTIONS; we could also cache the</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">// output stream.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCPrintOptions && <a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCPrintOptionsFilename) {</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> std::string Error;</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> OS = <span class="keyword">new</span> llvm::raw_fd_ostream(<a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCPrintOptionsFilename, Error,</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> llvm::sys::fs::F_Append);</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (!Error.empty()) {</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(clang::diag::err_drv_cc_print_options_failure)</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> << Error;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> FailingCommand = &C;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">delete</span> OS;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> 1;</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> }</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCPrintOptions)</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> *OS << <span class="stringliteral">"[Logging clang options]"</span>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> C.<a class="code" href="classclang_1_1driver_1_1Command.html#a756e3765edc05da289e6e28e3de6cc76">Print</a>(*OS, <span class="stringliteral">"\n"</span>, <span class="comment">/*Quote=*/</span><a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().CCPrintOptions);</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (OS != &llvm::errs())</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">delete</span> OS;</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> std::string Error;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">bool</span> ExecutionFailed;</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> Res = C.<a class="code" href="classclang_1_1driver_1_1Command.html#a5b2b432e1c33d92674adeeb4330c2150">Execute</a>(Redirects, &Error, &ExecutionFailed);</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (!Error.empty()) {</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> assert(Res && <span class="stringliteral">"Error string set with 0 result code!"</span>);</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(clang::diag::err_drv_command_failure) << Error;</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> </div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (Res)</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> FailingCommand = &C;</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> ExecutionFailed ? 1 : Res;</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"><a class="code" href="Compilation_8cpp.html#aaf933d8430a3e7baae37795552b6b519"> 173</a></span> <span class="keyword">typedef</span> SmallVectorImpl< std::pair<int, const Command *> > <a class="code" href="Compilation_8cpp.html#aaf933d8430a3e7baae37795552b6b519">FailingCommandList</a>;</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="Compilation_8cpp.html#a08bf9d33b3f14996687a438585cd847a"> 175</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="Compilation_8cpp.html#a08bf9d33b3f14996687a438585cd847a">ActionFailed</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Action.html">Action</a> *A,</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">const</span> <a class="code" href="Compilation_8cpp.html#aaf933d8430a3e7baae37795552b6b519">FailingCommandList</a> &FailingCommands) {</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="keywordflow">if</span> (FailingCommands.empty())</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">for</span> (FailingCommandList::const_iterator CI = FailingCommands.begin(),</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> CE = FailingCommands.end(); CI != CE; ++CI)</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (A == &(CI->second->getSource()))</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1driver_1_1Action.html#a4600bdd405403a37fb4baddec485f625">Action::const_iterator</a> AI = A-><a class="code" href="classclang_1_1driver_1_1Action.html#a5f5f713cfeadf8708788ccfb88dd001e">begin</a>(), AE = A-><a class="code" href="classclang_1_1driver_1_1Action.html#abef57633338ff7105f7d8ce4a954a2a8">end</a>(); AI != AE; ++AI)</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (<a class="code" href="Compilation_8cpp.html#a08bf9d33b3f14996687a438585cd847a">ActionFailed</a>(*AI, FailingCommands))</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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"><a class="code" href="Compilation_8cpp.html#aa25c53b2a5bca4b4c902dd0077f0e35f"> 193</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="Compilation_8cpp.html#aa25c53b2a5bca4b4c902dd0077f0e35f">InputsOk</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> &C,</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">const</span> <a class="code" href="Compilation_8cpp.html#aaf933d8430a3e7baae37795552b6b519">FailingCommandList</a> &FailingCommands) {</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">return</span> !<a class="code" href="Compilation_8cpp.html#a08bf9d33b3f14996687a438585cd847a">ActionFailed</a>(&C.<a class="code" href="classclang_1_1driver_1_1Command.html#a7a55e2e356c871b97582852d93e1bfb1" title="getSource - Return the Action which caused the creation of this job.">getSource</a>(), FailingCommands);</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> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#ab34f2f199fa2e17d303d239b7df15f41"> 198</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab34f2f199fa2e17d303d239b7df15f41">Compilation::ExecuteJob</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Job.html">Job</a> &J,</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <a class="code" href="Compilation_8cpp.html#aaf933d8430a3e7baae37795552b6b519">FailingCommandList</a> &FailingCommands)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> *C = dyn_cast<Command>(&J)) {</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (!<a class="code" href="Compilation_8cpp.html#aa25c53b2a5bca4b4c902dd0077f0e35f">InputsOk</a>(*C, FailingCommands))</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> *FailingCommand = 0;</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (<span class="keywordtype">int</span> Res = <a class="code" href="classclang_1_1driver_1_1Compilation.html#a8580d6cae43e8b9c6b8a8ac3bf2b982a">ExecuteCommand</a>(*C, FailingCommand))</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> FailingCommands.push_back(std::make_pair(Res, FailingCommand));</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobList.html" title="JobList - A sequence of jobs to perform.">JobList</a> *Jobs = cast<JobList>(&J);</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1driver_1_1JobList.html#a90d7489ef37681b67257498f301b6abe">JobList::const_iterator</a> it = Jobs-><a class="code" href="classclang_1_1driver_1_1JobList.html#aeeda6d07404d2522b551cdbc5d4fa98c">begin</a>(), ie = Jobs-><a class="code" href="classclang_1_1driver_1_1JobList.html#aa57291941ad8fa332bb20995b76cd70e">end</a>();</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> it != ie; ++it)</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab34f2f199fa2e17d303d239b7df15f41">ExecuteJob</a>(**it, FailingCommands);</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#ac03d926e31599bb9624271fab6966a3c"> 214</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ac03d926e31599bb9624271fab6966a3c">Compilation::initCompilationForDiagnostics</a>() {</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">// Free actions and jobs.</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> DeleteContainerPointers(Actions);</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> Jobs.<a class="code" href="classclang_1_1driver_1_1JobList.html#a5ac0da9146d5e81b00a8a9dafd341a5c" title="Clear the job list.">clear</a>();</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">// Clear temporary/results file lists.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> TempFiles.clear();</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> ResultFiles.clear();</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> FailureResultFiles.clear();</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="comment">// Remove any user specified output. Claim any unclaimed arguments, so as</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">// to avoid emitting warnings about unused args.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> OptSpecifier OutputOpts[] = { options::OPT_o, options::OPT_MD,</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> options::OPT_MMD };</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = llvm::array_lengthof(OutputOpts); i != e; ++i) {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (TranslatedArgs->hasArg(OutputOpts[i]))</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> TranslatedArgs->eraseArg(OutputOpts[i]);</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> TranslatedArgs->ClaimAllArgs();</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">// Redirect stdout/stderr to /dev/null.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> Redirects = <span class="keyword">new</span> <span class="keyword">const</span> StringRef*[3]();</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> Redirects[0] = 0;</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> Redirects[1] = <span class="keyword">new</span> <span class="keyword">const</span> StringRef();</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> Redirects[2] = <span class="keyword">new</span> <span class="keyword">const</span> StringRef();</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a94648433f1524b4967a06f1c9cff2fdd"> 241</a></span> StringRef <a class="code" href="classclang_1_1driver_1_1Compilation.html#a94648433f1524b4967a06f1c9cff2fdd" title="Returns the sysroot path.">Compilation::getSysRoot</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>().<a class="code" href="classclang_1_1driver_1_1Driver.html#a0339340ab6987b95840159f00852e733" title="sysroot, if present">SysRoot</a>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,244 @@
+<!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: Compilation.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_79a4e43f5883e96ea4f45c2e67339e2c.html">Driver</a></li><li class="navelem"><a class="el" href="dir_7586acc61ec3e12e4bc52d53567f5268.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Compilation.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Compilation_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/Driver/Release+Asserts/Compilation.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Driver/Release+Asserts/Compilation.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> Compilation.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Compilation.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Job.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/Option/Option.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Phases.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Driver.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/DriverDiagnostic.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticDriverKinds.inc \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.inc \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/ToolChain.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/include/llvm/Option/ArgList.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Compilation.h:</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Job.h:</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/include/llvm/Option/Option.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Util.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Phases.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/Driver/../../include/clang/Driver/Types.def:</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/Driver/../../include/clang/Driver/Driver.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/Driver/../../include/clang/Basic/Diagnostic.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/Driver/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/SourceLocation.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/ADT/ArrayRef.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/ADT/Triple.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/DriverDiagnostic.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticDriverKinds.inc:</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.inc:</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/tools/clang/lib/Driver/../../include/clang/Driver/ToolChain.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/STLExtras.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/Option/ArgList.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/FileSystem.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/Support/TimeValue.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/system_error.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/raw_ostream.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Compilation_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,260 @@
+<!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: Compilation.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_21b2f75600cfba94559a3417605488ac.html">Driver</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Compilation.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Compilation_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">//===--- Compilation.h - Compilation Task Data Structure --------*- 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_DRIVER_COMPILATION_H_</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor"></span><span class="preprocessor">#define CLANG_DRIVER_COMPILATION_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="Job_8h.html">clang/Driver/Job.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="Util_8h.html">clang/Driver/Util.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "llvm/Support/Path.h"</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>llvm {</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">namespace </span>opt {</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">class </span>DerivedArgList;</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">class </span>InputArgList;</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> }</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span>driver {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">class </span>Driver;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">class </span>JobAction;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span>JobList;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">class </span>ToolChain;</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/// Compilation - A set of tasks to perform for a single driver</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/// invocation.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html"> 34</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1driver_1_1Compilation.html">Compilation</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> /// The driver we were created by.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &TheDriver;</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"></span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> /// The default tool chain.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &DefaultToolChain;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> /// The original (untranslated) input argument list.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span> llvm::opt::InputArgList *Args;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> /// The driver translated arguments. Note that toolchains may perform their</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> /// own argument translation.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span> llvm::opt::DerivedArgList *TranslatedArgs;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"></span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> /// The list of actions.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span> <a class="code" href="classllvm_1_1SmallVector.html">ActionList</a> Actions;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> /// The root list of jobs.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"></span> <a class="code" href="classclang_1_1driver_1_1JobList.html" title="JobList - A sequence of jobs to perform.">JobList</a> Jobs;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> /// Cache of translated arguments for a particular tool chain and bound</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> /// architecture.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"></span> llvm::DenseMap<std::pair<const ToolChain *, const char *>,</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> llvm::opt::DerivedArgList *> TCArgs;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"></span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> /// Temporary files which should be removed on exit.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span> llvm::opt::ArgStringList TempFiles;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> /// Result files which should be removed on failure.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span> <a class="code" href="namespaceclang_1_1driver.html#a4c9e65b15a588b56e1f62cd0407f78b8" title="ArgStringMap - Type used to map a JobAction to its result file.">ArgStringMap</a> ResultFiles;</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"> /// Result files which are generated correctly on failure, and which should</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> /// only be removed if we crash.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"></span> <a class="code" href="namespaceclang_1_1driver.html#a4c9e65b15a588b56e1f62cd0407f78b8" title="ArgStringMap - Type used to map a JobAction to its result file.">ArgStringMap</a> FailureResultFiles;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> /// Redirection for stdout, stderr, etc.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span> <span class="keyword">const</span> StringRef **Redirects;</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a8dc584bdb5bcd9290f8c2c8d970b1ec2">Compilation</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &DefaultToolChain,</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> llvm::opt::InputArgList *Args,</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> llvm::opt::DerivedArgList *TranslatedArgs);</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a4cc46a1f22c9c04872e9d9e016b12088">~Compilation</a>();</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08"> 78</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#af1a9d24ea4ca368f9506b26469c76f08">getDriver</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TheDriver; }</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#adfc65c26f1d062c6fa8380b59b05000f"> 80</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#adfc65c26f1d062c6fa8380b59b05000f">getDefaultToolChain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DefaultToolChain; }</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a0ed7089f818b4e142fc504fd70c9dff9"> 82</a></span> <span class="keyword">const</span> llvm::opt::InputArgList &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a0ed7089f818b4e142fc504fd70c9dff9">getInputArgs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *Args; }</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a261fb02611346de2de06a1045e72023d"> 84</a></span> <span class="keyword">const</span> llvm::opt::DerivedArgList &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a261fb02611346de2de06a1045e72023d">getArgs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *TranslatedArgs; }</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a91fcac5ff449c16ec732d3d60fe2a16e"> 86</a></span> llvm::opt::DerivedArgList &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a91fcac5ff449c16ec732d3d60fe2a16e">getArgs</a>() { <span class="keywordflow">return</span> *TranslatedArgs; }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#adc94fb031fb167c8e98412dfc9f75cc0"> 88</a></span> <a class="code" href="classllvm_1_1SmallVector.html">ActionList</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#adc94fb031fb167c8e98412dfc9f75cc0">getActions</a>() { <span class="keywordflow">return</span> Actions; }</div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a2d1c74703b7b382ee180a4e5f4ef48f6"> 89</a></span> <span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVector.html">ActionList</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a2d1c74703b7b382ee180a4e5f4ef48f6">getActions</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Actions; }</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#aab33a3c539568797b39f9ee103d7f467"> 91</a></span> <a class="code" href="classclang_1_1driver_1_1JobList.html" title="JobList - A sequence of jobs to perform.">JobList</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#aab33a3c539568797b39f9ee103d7f467">getJobs</a>() { <span class="keywordflow">return</span> Jobs; }</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a3d2fecfcaf95f189d21778169d42d09a"> 92</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobList.html" title="JobList - A sequence of jobs to perform.">JobList</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a3d2fecfcaf95f189d21778169d42d09a">getJobs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Jobs; }</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#aa9339c11fa34e723aa637144e96d772c"> 94</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#aa9339c11fa34e723aa637144e96d772c">addCommand</a>(<a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> *C) { Jobs.<a class="code" href="classclang_1_1driver_1_1JobList.html#a411e343ab8ef25273b7be7792213a746" title="Add a job to the list (taking ownership).">addJob</a>(C); }</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a0bc287bfdeef1813d74cfce1ca5b76be"> 96</a></span> <span class="keyword">const</span> llvm::opt::ArgStringList &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a0bc287bfdeef1813d74cfce1ca5b76be">getTempFiles</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TempFiles; }</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a3a64865aa2c292b5bd4274e02b8862f6"> 98</a></span> <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1driver.html#a4c9e65b15a588b56e1f62cd0407f78b8" title="ArgStringMap - Type used to map a JobAction to its result file.">ArgStringMap</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a3a64865aa2c292b5bd4274e02b8862f6">getResultFiles</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ResultFiles; }</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a9caeddf62c05104e95ee0bdf9c93cfa8"> 100</a></span> <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1driver.html#a4c9e65b15a588b56e1f62cd0407f78b8" title="ArgStringMap - Type used to map a JobAction to its result file.">ArgStringMap</a> &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a9caeddf62c05104e95ee0bdf9c93cfa8">getFailureResultFiles</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> FailureResultFiles;</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// Returns the sysroot path.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span> StringRef <a class="code" href="classclang_1_1driver_1_1Compilation.html#a94648433f1524b4967a06f1c9cff2fdd" title="Returns the sysroot path.">getSysRoot</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> /// getArgsForToolChain - Return the derived argument list for the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// tool chain \p TC (or the default tool chain, if TC is not specified).</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// \param BoundArch - The bound architecture name, or 0.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"></span> <span class="keyword">const</span> llvm::opt::DerivedArgList &<a class="code" href="classclang_1_1driver_1_1Compilation.html#a90be4f0c82ee360f4f0c54b14d56df70">getArgsForToolChain</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> *TC,</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *BoundArch);</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"></span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> /// addTempFile - Add a file to remove on exit, and returns its</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> /// argument.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a5eb6ace2daf11fd6a3a28603e26f487c"> 116</a></span> <span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1driver_1_1Compilation.html#a5eb6ace2daf11fd6a3a28603e26f487c">addTempFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *Name) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> TempFiles.push_back(Name);</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> Name;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"></span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> /// addResultFile - Add a file to remove on failure, and returns its</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> /// argument.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a78bf2dc96ba983b17e0e8c7cb2cd8c05"> 123</a></span> <span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1driver_1_1Compilation.html#a78bf2dc96ba983b17e0e8c7cb2cd8c05">addResultFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *Name, <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobAction.html">JobAction</a> *JA) {</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> ResultFiles[JA] = Name;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> Name;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> /// addFailureResultFile - Add a file to remove if we crash, and returns its</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> /// argument.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1Compilation.html#a40154c78facd1b2856ab0083dfbd9a33"> 130</a></span> <span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1driver_1_1Compilation.html#a40154c78facd1b2856ab0083dfbd9a33">addFailureResultFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *Name, <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobAction.html">JobAction</a> *JA) {</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> FailureResultFiles[JA] = Name;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> Name;</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"></span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> /// CleanupFile - Delete a given file.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> /// \param IssueErrors - Report failures as errors.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> /// \return Whether the file was removed successfully.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab557852d0ec596e76558d8224b598af5">CleanupFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *File, <span class="keywordtype">bool</span> IssueErrors = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> /// CleanupFileList - Remove the files in the given list.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> /// \param IssueErrors - Report failures as errors.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> /// \return Whether all files were removed successfully.</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a62e4310546e96bfd1d22c0b4c5fd549e">CleanupFileList</a>(<span class="keyword">const</span> llvm::opt::ArgStringList &Files,</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">bool</span> IssueErrors = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"></span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> /// CleanupFileMap - Remove the files in the given map.</span></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"> /// \param JA - If specified, only delete the files associated with this</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> /// JobAction. Otherwise, delete all files in the map.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> /// \param IssueErrors - Report failures as errors.</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> /// \return Whether all files were removed successfully.</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab1d4bfaa90951246840c67ea683ae511">CleanupFileMap</a>(<span class="keyword">const</span> <a class="code" href="namespaceclang_1_1driver.html#a4c9e65b15a588b56e1f62cd0407f78b8" title="ArgStringMap - Type used to map a JobAction to its result file.">ArgStringMap</a> &Files,</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobAction.html">JobAction</a> *JA,</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">bool</span> IssueErrors = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"></span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> /// ExecuteCommand - Execute an actual command.</span></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"> /// \param FailingCommand - For non-zero results, this will be set to the</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> /// Command which failed, if any.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> /// \return The result code of the subprocess.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"></span> <span class="keywordtype">int</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#a8580d6cae43e8b9c6b8a8ac3bf2b982a">ExecuteCommand</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">Command</a> *&FailingCommand) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"></span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> /// ExecuteJob - Execute a single job.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> /// \param FailingCommands - For non-zero results, this will be a vector of</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> /// failing commands and their associated result code.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ab34f2f199fa2e17d303d239b7df15f41">ExecuteJob</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Job.html">Job</a> &J,</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl</a>< std::pair<int, const Command *> > &FailingCommands) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"></span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> /// initCompilationForDiagnostics - Remove stale state and suppress output</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> /// so compilation can be reexecuted to generate additional diagnostic</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> /// information (e.g., preprocessed source(s)).</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1Compilation.html#ac03d926e31599bb9624271fab6966a3c">initCompilationForDiagnostics</a>();</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> </div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> } <span class="comment">// end namespace driver</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1486 @@
+<!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: CompilerInstance.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">CompilerInstance.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilerInstance_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">//===--- CompilerInstance.cpp ---------------------------------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="CompilerInstance_8h.html">clang/Frontend/CompilerInstance.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="ASTConsumer_8h.html">clang/AST/ASTConsumer.h</a>"</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</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="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.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 "<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="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</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="l00018"></a><span class="lineno"> 18</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="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="ChainedDiagnosticConsumer_8h.html">clang/Frontend/ChainedDiagnosticConsumer.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="FrontendAction_8h.html" title="Defines the clang::FrontendAction interface and various convenience abstract classes (clang::ASTFront...">clang/Frontend/FrontendAction.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="Frontend_2FrontendActions_8h.html">clang/Frontend/FrontendActions.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="FrontendDiagnostic_8h.html">clang/Frontend/FrontendDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="LogDiagnosticPrinter_8h.html">clang/Frontend/LogDiagnosticPrinter.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "<a class="code" href="SerializedDiagnosticPrinter_8h.html">clang/Frontend/SerializedDiagnosticPrinter.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="TextDiagnosticPrinter_8h.html">clang/Frontend/TextDiagnosticPrinter.h</a>"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="VerifyDiagnosticConsumer_8h.html">clang/Frontend/VerifyDiagnosticConsumer.h</a>"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="HeaderSearch_8h.html">clang/Lex/HeaderSearch.h</a>"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="PTHManager_8h.html">clang/Lex/PTHManager.h</a>"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="CodeCompleteConsumer_8h.html">clang/Sema/CodeCompleteConsumer.h</a>"</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="Sema_8h.html">clang/Sema/Sema.h</a>"</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="ASTReader_8h.html">clang/Serialization/ASTReader.h</a>"</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "llvm/ADT/Statistic.h"</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "llvm/Config/config.h"</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "llvm/Support/CrashRecoveryContext.h"</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "llvm/Support/Host.h"</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "llvm/Support/LockFileManager.h"</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "llvm/Support/MemoryBuffer.h"</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "llvm/Support/Program.h"</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "llvm/Support/Signals.h"</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "llvm/Support/Timer.h"</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "llvm/Support/system_error.h"</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sys/stat.h></span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <time.h></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a70ad0173059b3e4dad3477c2ee1160b5"> 52</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a70ad0173059b3e4dad3477c2ee1160b5">CompilerInstance::CompilerInstance</a>()</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> : Invocation(new <a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a>()), ModuleManager(0),</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> BuildGlobalModuleIndex(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), ModuleBuildFailed(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a6be158897bdf51cf00f5ebfc377321bf"> 57</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a6be158897bdf51cf00f5ebfc377321bf">CompilerInstance::~CompilerInstance</a>() {</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> assert(OutputFiles.empty() && <span class="stringliteral">"Still output files in flight?"</span>);</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a68360c9e4e5ed0347161e082e609c6c9"> 61</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a68360c9e4e5ed0347161e082e609c6c9" title="setInvocation - Replace the current invocation.">CompilerInstance::setInvocation</a>(<a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> Invocation = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>;</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"><a class="code" href="classclang_1_1CompilerInstance.html#aff3d247948dddc7e1e1c0938436904b1"> 65</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#aff3d247948dddc7e1e1c0938436904b1" title="Indicates whether we should (re)build the global module index.">CompilerInstance::shouldBuildGlobalModuleIndex</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> (BuildGlobalModuleIndex ||</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> (ModuleManager && ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#acc6954b330483b6dfdb519d476e4d2c3" title="Determine whether we tried to load the global index, but failed, e.g., because it is out-of-date or d...">isGlobalIndexUnavailable</a>() &&</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().<a class="code" href="classclang_1_1FrontendOptions.html#acface48e3ca73e16bc8569dec5c42839">GenerateGlobalModuleIndex</a>)) &&</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> !ModuleBuildFailed;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a8fdc488bb99f44ae409dfdb951af6d02"> 72</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8fdc488bb99f44ae409dfdb951af6d02" title="setDiagnostics - Replace the current diagnostics engine.">CompilerInstance::setDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> Diagnostics = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>;</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> </div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a5972a3b70aeb763793685ddf6210dfd7"> 76</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a5972a3b70aeb763793685ddf6210dfd7" title="Replace the current diagnostics engine.">CompilerInstance::setTarget</a>(<a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> Target = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>;</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> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a00535f0955b58840431fd633f856cdc4"> 80</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a00535f0955b58840431fd633f856cdc4" title="setFileManager - Replace the current file manager.">CompilerInstance::setFileManager</a>(<a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> FileMgr = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>;</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> </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a08d4c3c5277d0a97f2ae6e87ea7f6d68"> 84</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a08d4c3c5277d0a97f2ae6e87ea7f6d68" title="setSourceManager - Replace the current source manager.">CompilerInstance::setSourceManager</a>(<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="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a> = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a7b58b810af494368c8b1daf7fd23ca28"> 88</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a7b58b810af494368c8b1daf7fd23ca28" title="Replace the current preprocessor.">CompilerInstance::setPreprocessor</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) { PP = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</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"><a class="code" href="classclang_1_1CompilerInstance.html#a6a7a65f2595b1e2902b691bbf733a60d"> 90</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a6a7a65f2595b1e2902b691bbf733a60d" title="setASTContext - Replace the current AST context.">CompilerInstance::setASTContext</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="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) { <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>; }</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a893e113ec2e48d9f4640f9276f969ae7"> 92</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a893e113ec2e48d9f4640f9276f969ae7" title="Replace the current Sema; the compiler instance takes ownership of S.">CompilerInstance::setSema</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="l00093"></a><span class="lineno"> 93</span> TheSema.reset(S);</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a50c6e094c9e80453ae9c2b2bb863e89a"> 96</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a50c6e094c9e80453ae9c2b2bb863e89a">CompilerInstance::setASTConsumer</a>(<a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> Consumer.reset(Value);</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> </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#aca5e4132b77ea34c3c7dbf2ec487ddeb"> 100</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#aca5e4132b77ea34c3c7dbf2ec487ddeb">CompilerInstance::setCodeCompletionConsumer</a>(<a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> CompletionConsumer.reset(Value);</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">// Diagnostics</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#aabc45a829cee974c807da90c3db82504"> 105</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#aabc45a829cee974c807da90c3db82504">SetUpDiagnosticLog</a>(<a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *DiagOpts,</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGenOptions.html">CodeGenOptions</a> *CodeGenOpts,</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</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="l00108"></a><span class="lineno"> 108</span> std::string ErrorInfo;</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">bool</span> OwnsStream = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> raw_ostream *OS = &llvm::errs();</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> (DiagOpts->DiagnosticLogFile != <span class="stringliteral">"-"</span>) {</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// Create the output stream.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> llvm::raw_fd_ostream *FileOS(</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">new</span> llvm::raw_fd_ostream(DiagOpts->DiagnosticLogFile.c_str(), ErrorInfo,</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> llvm::sys::fs::F_Append));</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (!ErrorInfo.empty()) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::warn_fe_cc_log_diagnostics_failure)</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> << DiagOpts->DiagnosticLogFile << ErrorInfo;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> FileOS->SetUnbuffered();</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> FileOS->SetUseAtomicWrites(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> OS = FileOS;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> OwnsStream = <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// Chain in the diagnostic client which will log the diagnostics.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <a class="code" href="classclang_1_1LogDiagnosticPrinter.html">LogDiagnosticPrinter</a> *Logger = <span class="keyword">new</span> <a class="code" href="classclang_1_1LogDiagnosticPrinter.html">LogDiagnosticPrinter</a>(*OS, DiagOpts,</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> OwnsStream);</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> (CodeGenOpts)</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> Logger-><a class="code" href="classclang_1_1LogDiagnosticPrinter.html#a45a00d3230751ac1a5b82b3542f1e6ca">setDwarfDebugFlags</a>(CodeGenOpts-><a class="code" href="classclang_1_1CodeGenOptions.html#af49d49949d74834d36d29de329174506">DwarfDebugFlags</a>);</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a73d6622e8b775233db09bc294a4b1bb0" title="Set the diagnostic client associated with this diagnostic object.">setClient</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ChainedDiagnosticConsumer.html">ChainedDiagnosticConsumer</a>(Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a780e0502793978b0621644934f057e7e" title="Return the current diagnostic client along with ownership of that client.">takeClient</a>(), Logger));</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#abe900893187849f546779a022200cb5b"> 135</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#abe900893187849f546779a022200cb5b">SetupSerializedDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *DiagOpts,</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</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="l00137"></a><span class="lineno"> 137</span> StringRef OutputFile) {</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> std::string ErrorInfo;</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::raw_fd_ostream></a> OS;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> OS.reset(<span class="keyword">new</span> llvm::raw_fd_ostream(OutputFile.str().c_str(), ErrorInfo,</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> llvm::sys::fs::F_Binary));</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span> (!ErrorInfo.empty()) {</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::warn_fe_serialized_diag_failure)</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> << OutputFile << ErrorInfo;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *SerializedConsumer =</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">clang::serialized_diags::create</a>(OS.take(), DiagOpts);</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a73d6622e8b775233db09bc294a4b1bb0" title="Set the diagnostic client associated with this diagnostic object.">setClient</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ChainedDiagnosticConsumer.html">ChainedDiagnosticConsumer</a>(Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a780e0502793978b0621644934f057e7e" title="Return the current diagnostic client along with ownership of that client.">takeClient</a>(),</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> SerializedConsumer));</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> </div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3"> 157</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3">CompilerInstance::createDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *Client,</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">bool</span> ShouldOwnClient) {</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> Diagnostics = <a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3">createDiagnostics</a>(&<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>(), Client,</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> ShouldOwnClient, &<a class="code" href="classclang_1_1CompilerInstance.html#a06174bfe2d28784f7b092e9b74bc3583">getCodeGenOpts</a>());</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticsEngine></a></div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ae6a40802322ac9cb364769b526751433"> 164</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3">CompilerInstance::createDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *Opts,</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *Client,</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">bool</span> ShouldOwnClient,</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGenOptions.html">CodeGenOptions</a> *CodeGenOpts) {</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticIDs></a> DiagID(<span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticIDs.html" title="Used for handling and querying diagnostic IDs.">DiagnosticIDs</a>());</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticsEngine></a></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> Diags(<span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a>(DiagID, Opts));</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> <span class="comment">// Create the diagnostic client for reporting errors or for</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">// implementing -verify.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">if</span> (Client) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> Diags->setClient(Client, ShouldOwnClient);</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> } <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> Diags->setClient(<span class="keyword">new</span> <a class="code" href="classclang_1_1TextDiagnosticPrinter.html">TextDiagnosticPrinter</a>(llvm::errs(), Opts));</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">// Chain in -verify checker, if requested.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (Opts->VerifyDiagnostics)</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> Diags->setClient(<span class="keyword">new</span> <a class="code" href="classclang_1_1VerifyDiagnosticConsumer.html">VerifyDiagnosticConsumer</a>(*Diags));</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> <span class="comment">// Chain in -diagnostic-log-file dumper, if requested.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (!Opts->DiagnosticLogFile.empty())</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <a class="code" href="CompilerInstance_8cpp.html#aabc45a829cee974c807da90c3db82504">SetUpDiagnosticLog</a>(Opts, CodeGenOpts, *Diags);</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (!Opts-><a class="code" href="classclang_1_1DiagnosticOptions.html#ad7135103df760c7acb2ad48dea74e08c" title="Limit depth of macro expansion backtrace.">DiagnosticSerializationFile</a>.empty())</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="CompilerInstance_8cpp.html#abe900893187849f546779a022200cb5b">SetupSerializedDiagnostics</a>(Opts, *Diags,</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> Opts-><a class="code" href="classclang_1_1DiagnosticOptions.html#ad7135103df760c7acb2ad48dea74e08c" title="Limit depth of macro expansion backtrace.">DiagnosticSerializationFile</a>);</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">// Configure our handling of diagnostics.</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <a class="code" href="namespaceclang.html#a2eac92f50469af565dbfb390534b2ffd">ProcessWarningOptions</a>(*Diags, *Opts);</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> Diags;</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> </div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// File Manager</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="classclang_1_1CompilerInstance.html#a47b768cd640f10d3e04611116c033e00"> 199</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47b768cd640f10d3e04611116c033e00" title="Create the file manager and replace any existing one with it.">CompilerInstance::createFileManager</a>() {</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> FileMgr = <span class="keyword">new</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>(<a class="code" href="classclang_1_1CompilerInstance.html#a16328bd5d143b93c65bc1b5790fc0c11">getFileSystemOpts</a>());</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">// Source Manager</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a15caea4e8b2072a112e86bc02570683b"> 205</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a15caea4e8b2072a112e86bc02570683b" title="Create the source manager and replace any existing one with it.">CompilerInstance::createSourceManager</a>(<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="l00206"></a><span class="lineno"> 206</span> <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a> = <span class="keyword">new</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="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), FileMgr);</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"> 209</span> <span class="comment">// Preprocessor</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"><a class="code" href="classclang_1_1CompilerInstance.html#aaf00e96c0d4a3b3c7301bbf08e35e37d"> 211</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#aaf00e96c0d4a3b3c7301bbf08e35e37d">CompilerInstance::createPreprocessor</a>() {</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &PPOpts = <a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</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> <span class="comment">// Create a PTH manager if we are using some form of a token cache.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <a class="code" href="classclang_1_1PTHManager.html">PTHManager</a> *PTHMgr = 0;</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span> (!PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ac38e47eee0f784a0d059cffb5d5e568d" title="If given, a PTH cache file to use for speeding up header parsing.">TokenCache</a>.empty())</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> PTHMgr = <a class="code" href="classclang_1_1PTHManager.html#aed12bd5f5b8b0c49ed96012ce8743d0a">PTHManager::Create</a>(PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ac38e47eee0f784a0d059cffb5d5e568d" title="If given, a PTH cache file to use for speeding up header parsing.">TokenCache</a>, <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>());</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">// Create the Preprocessor.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</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> *HeaderInfo = <span class="keyword">new</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>(&<a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>(),</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(),</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(),</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(),</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> &<a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>());</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> PP = <span class="keyword">new</span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a>(&<a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>(),</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), &<a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>(),</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(), *HeaderInfo, *<span class="keyword">this</span>, PTHMgr,</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/*OwnsHeaderSearch=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// Note that this is different then passing PTHMgr to Preprocessor's ctor.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">// That argument is used as the IdentifierInfoLookup argument to</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// IdentifierTable's ctor.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span> (PTHMgr) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> PTHMgr-><a class="code" href="classclang_1_1PTHManager.html#a59cd2e920a4018ec6046628dbb5977d4">setPreprocessor</a>(&*PP);</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> PP->setPTHManager(PTHMgr);</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> </div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#af9425f8ba984d1f17bbf5417bb45fb94" title="Whether we should maintain a detailed record of all macro definitions and expansions.">DetailedRecord</a>)</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> PP->createPreprocessingRecord();</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> <a class="code" href="namespaceclang.html#ad19e5c8c5ca1dfbd51ca63cde5d35040">InitializePreprocessor</a>(*PP, PPOpts, <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>());</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> PP->setPreprocessedOutput(<a class="code" href="classclang_1_1CompilerInstance.html#ad37f8efd6888104972ff208ecb31b03d">getPreprocessorOutputOpts</a>().ShowCPP);</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">// Set up the module path, including the hash for the</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// module-creation options.</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> SpecificModuleCache(</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().ModuleCachePath);</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().DisableModuleHash)</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> llvm::sys::path::append(SpecificModuleCache,</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <a class="code" href="classclang_1_1CompilerInstance.html#a171249f941c6c546049f4b6107c84d6e">getInvocation</a>().getModuleHash());</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> PP->getHeaderSearchInfo().setModuleCachePath(SpecificModuleCache);</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">// Handle generating dependencies, if requested.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DependencyOutputOptions.html">DependencyOutputOptions</a> &DepOpts = <a class="code" href="classclang_1_1CompilerInstance.html#a4b696fa1eebedae2380fb763740ef4f7">getDependencyOutputOpts</a>();</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span> (!DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#a2af2e55d7c3155825e5f8882978b4222" title="The file to write dependency output to.">OutputFile</a>.empty())</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <a class="code" href="namespaceclang.html#a90c072bfda97283b467c528c20968e75">AttachDependencyFileGen</a>(*PP, DepOpts);</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (!DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#a10c207bd3f0c997a884b605890405eef" title="The file to write GraphViz-formatted header dependencies to.">DOTOutputFile</a>.empty())</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <a class="code" href="namespaceclang.html#afbf09b7d8500b4e67e3247c66cf013e6">AttachDependencyGraphGen</a>(*PP, DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#a10c207bd3f0c997a884b605890405eef" title="The file to write GraphViz-formatted header dependencies to.">DOTOutputFile</a>,</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().<a class="code" href="classclang_1_1HeaderSearchOptions.html#a7b2c49429c3e24836a745727bd14dfbb">Sysroot</a>);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">// Handle generating header include information, if requested.</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span> (DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#aefbe7389a301106e13606651c48f78e6" title="Show header inclusions (-H).">ShowHeaderIncludes</a>)</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <a class="code" href="namespaceclang.html#a2df996d001d7184af14a7c1d55ee161d">AttachHeaderIncludeGen</a>(*PP);</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">if</span> (!DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#a96f159d9012a1618571204a7cd0db98b">HeaderIncludeOutputFile</a>.empty()) {</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> StringRef OutputPath = DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#a96f159d9012a1618571204a7cd0db98b">HeaderIncludeOutputFile</a>;</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">if</span> (OutputPath == <span class="stringliteral">"-"</span>)</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> OutputPath = <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <a class="code" href="namespaceclang.html#a2df996d001d7184af14a7c1d55ee161d">AttachHeaderIncludeGen</a>(*PP, <span class="comment">/*ShowAllHeaders=*/</span><span class="keyword">true</span>, OutputPath,</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/*ShowDepth=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (DepOpts.<a class="code" href="classclang_1_1DependencyOutputOptions.html#ac8b7c89a078d0fd46929a8a784016604" title="Print cl.exe style /showIncludes info.">PrintShowIncludes</a>) {</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <a class="code" href="namespaceclang.html#a2df996d001d7184af14a7c1d55ee161d">AttachHeaderIncludeGen</a>(*PP, <span class="comment">/*ShowAllHeaders=*/</span><span class="keyword">false</span>, <span class="comment">/*OutputPath=*/</span><span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/*ShowDepth=*/</span><span class="keyword">true</span>, <span class="comment">/*MSStyle=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">// ASTContext</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a609e1bbc05d1fc2ca7a8d5d3146b5dd1"> 282</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a609e1bbc05d1fc2ca7a8d5d3146b5dd1" title="Create the AST context.">CompilerInstance::createASTContext</a>() {</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP = <a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>();</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> = <span class="keyword">new</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_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>(),</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> &<a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>(), PP.<a class="code" href="classclang_1_1Preprocessor.html#a7770871c2bdcd43cfa195d5936c8e268">getIdentifierTable</a>(),</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a9898deb1beddca551b9bef352cf77e9f">getSelectorTable</a>(), PP.<a class="code" href="classclang_1_1Preprocessor.html#ae0c2b1c4fa862c2825d71417de5313a2">getBuiltinInfo</a>(),</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment">/*size_reserve=*/</span> 0);</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> </div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">// ExternalASTSource</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a8345dcc7025740f618f0d55f5fa99282"> 292</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8345dcc7025740f618f0d55f5fa99282">CompilerInstance::createPCHExternalASTSource</a>(StringRef Path,</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">bool</span> DisablePCHValidation,</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">bool</span> AllowPCHWithCompilerErrors,</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">void</span> *DeserializationListener){</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<ExternalASTSource></a> Source;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">bool</span> Preamble = <a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>().<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 != 0;</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> Source.reset(<a class="code" href="classclang_1_1CompilerInstance.html#a8345dcc7025740f618f0d55f5fa99282">createPCHExternalASTSource</a>(Path, <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().Sysroot,</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> DisablePCHValidation,</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> AllowPCHWithCompilerErrors,</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>(),</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> DeserializationListener,</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> Preamble,</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().UseGlobalModuleIndex));</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> ModuleManager = <span class="keyword">static_cast<</span><a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>*<span class="keyword">></span>(Source.get());</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a9f13d96b21dad7c71264f23a8cf05c1d" title="Attach an external AST source to the AST context.">setExternalSource</a>(Source);</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <a class="code" href="classclang_1_1ExternalASTSource.html" title="Abstract interface for external sources of AST nodes.">ExternalASTSource</a> *</div>
+<div class="line"><a name="l00310"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a3b71e490a7271f9d88e398e7cb3ef6c2"> 310</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a8345dcc7025740f618f0d55f5fa99282">CompilerInstance::createPCHExternalASTSource</a>(StringRef Path,</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">const</span> std::string &Sysroot,</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">bool</span> DisablePCHValidation,</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">bool</span> AllowPCHWithCompilerErrors,</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP,</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">void</span> *DeserializationListener,</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">bool</span> Preamble,</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">bool</span> UseGlobalModuleIndex) {</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<ASTReader></a> Reader;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> Reader.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>(PP, Context,</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> Sysroot.empty() ? <span class="stringliteral">""</span> : Sysroot.c_str(),</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> DisablePCHValidation,</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> AllowPCHWithCompilerErrors,</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> UseGlobalModuleIndex));</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> Reader->setDeserializationListener(</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> static_cast<ASTDeserializationListener *>(DeserializationListener));</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">switch</span> (Reader->ReadAST(Path,</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> Preamble ? <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea53fc1233721074698c4b1ff9b78cc35d" title="File is a PCH file treated as the preamble.">serialization::MK_Preamble</a></div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> : <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea3be10581dcaa249a8ba0d5c740b18e49" title="File is a PCH file treated as such.">serialization::MK_PCH</a>,</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</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>(),</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <a class="code" href="classclang_1_1ASTReader.html#a1ef10402198040c36f537a57bc633ca0a2d2271af889b513da2da100a2ede0194" title="The client can't handle any AST loading failures.">ASTReader::ARR_None</a>)) {</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a22a203378a875589f6013335def54572" title="The control block was read successfully. Aside from failures, the AST file is safe to read into the c...">ASTReader::Success</a>:</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment">// Set the predefines buffer as suggested by the PCH reader. Typically, the</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">// predefines buffer will be empty.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#ac30753bca7cb4d7a2cf92ea9ed91266a">setPredefines</a>(Reader->getSuggestedPredefines());</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> Reader.take();</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> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243ad2ad62e53379946597e50d557e8ef953" title="The AST file itself appears corrupted.">ASTReader::Failure</a>:</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment">// Unrecoverable failure: don't even try to process the input file.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">break</span>;</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> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243aec84e2a366d426f45d8d9e9e2509bfb2" title="The AST file was missing.">ASTReader::Missing</a>:</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a955fa046aaf1f1a1a5c48d21c24e8863" title="The AST file is out-of-date relative to its input files, and needs to be regenerated.">ASTReader::OutOfDate</a>:</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243ae145b87ff56754261c9f144c9d0adf73" title="The AST file was written by a different version of Clang.">ASTReader::VersionMismatch</a>:</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a2b295dac09a7e70bca0730292a5ed436" title="The AST file was writtten with a different language/target configuration.">ASTReader::ConfigurationMismatch</a>:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243aea1a4079a594b06c0f15d4d670bef68d" title="The AST file has errors.">ASTReader::HadErrors</a>:</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">// No suitable PCH file could be found. Return an error.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">break</span>;</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> </div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">// Code Completion</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#a4fd4fcb6d2c73f371d6bbb9a6b2b7f1c"> 357</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CompilerInstance_8cpp.html#a4fd4fcb6d2c73f371d6bbb9a6b2b7f1c">EnableCodeCompletion</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP,</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keyword">const</span> std::string &Filename,</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordtype">unsigned</span> <a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>,</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>) {</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment">// Tell the source manager to chop off the given file at a specific</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">// line and column.</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</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> *Entry = PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>().<a class="code" href="classclang_1_1FileManager.html#ae250b54e2bc90b8075b96ea7e88eff77" title="Lookup, cache, and verify the specified file (real or virtual).">getFile</a>(Filename);</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">if</span> (!Entry) {</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</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_invalid_code_complete_file)</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> << Filename;</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">// Truncate the named file at the given line/column.</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a1abbdd2242de8f626c725303ba41f245" title="Specify the point at which code-completion will be performed.">SetCodeCompletionPoint</a>(Entry, Line, Column);</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ac904ee99857a16e4770b4dc130aaa859"> 375</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac904ee99857a16e4770b4dc130aaa859">CompilerInstance::createCodeCompletionConsumer</a>() {</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ParsedSourceLocation.html" title="A source location that has been parsed on the command line.">ParsedSourceLocation</a> &Loc = <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().<a class="code" href="classclang_1_1FrontendOptions.html#a903a24bd127beba3fdd54b84329a5a27" title="If given, enable code completion at the provided location.">CodeCompletionAt</a>;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">if</span> (!CompletionConsumer) {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <a class="code" href="classclang_1_1CompilerInstance.html#aca5e4132b77ea34c3c7dbf2ec487ddeb">setCodeCompletionConsumer</a>(</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac904ee99857a16e4770b4dc130aaa859">createCodeCompletionConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(),</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> Loc.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a>, Loc.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a06f4d9edc6baa398219dc2ba702f22ed">Line</a>, Loc.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a9b37cc5758c96017fc78fe52aec95c29">Column</a>,</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().CodeCompleteOpts,</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> llvm::outs()));</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span> (!CompletionConsumer)</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="CompilerInstance_8cpp.html#a4fd4fcb6d2c73f371d6bbb9a6b2b7f1c">EnableCodeCompletion</a>(<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), Loc.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a>,</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> Loc.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a06f4d9edc6baa398219dc2ba702f22ed">Line</a>, Loc.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a9b37cc5758c96017fc78fe52aec95c29">Column</a>)) {</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <a class="code" href="classclang_1_1CompilerInstance.html#aca5e4132b77ea34c3c7dbf2ec487ddeb">setCodeCompletionConsumer</a>(0);</div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> (CompletionConsumer->isOutputBinary() &&</div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> llvm::sys::ChangeStdoutToBinary()) {</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>().<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_stdout_binary);</div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <a class="code" href="classclang_1_1CompilerInstance.html#aca5e4132b77ea34c3c7dbf2ec487ddeb">setCodeCompletionConsumer</a>(0);</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> }</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a8de263254d773b48145b9ad36d70a50f"> 398</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8de263254d773b48145b9ad36d70a50f" title="Create the frontend timer and replace any existing one with it.">CompilerInstance::createFrontendTimer</a>() {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> FrontendTimer.reset(<span class="keyword">new</span> llvm::Timer(<span class="stringliteral">"Clang front-end timer"</span>));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *</div>
+<div class="line"><a name="l00403"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#af02a980b98891ca2bd6b8167397a0929"> 403</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#ac904ee99857a16e4770b4dc130aaa859">CompilerInstance::createCodeCompletionConsumer</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP,</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keyword">const</span> std::string &Filename,</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordtype">unsigned</span> <a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>,</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>,</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keyword">const</span> <a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a> &Opts,</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> raw_ostream &OS) {</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">if</span> (<a class="code" href="CompilerInstance_8cpp.html#a4fd4fcb6d2c73f371d6bbb9a6b2b7f1c">EnableCodeCompletion</a>(PP, Filename, Line, Column))</div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment">// Set up the creation routine for code-completion.</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1PrintingCodeCompleteConsumer.html" title="A simple code-completion consumer that prints the results it receives in a simple format...">PrintingCodeCompleteConsumer</a>(Opts, OS);</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> </div>
+<div class="line"><a name="l00416"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#affc162b6099312dfb93c3383ca48e014"> 416</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#affc162b6099312dfb93c3383ca48e014" title="Create the Sema object to be used for parsing.">CompilerInstance::createSema</a>(<a class="code" href="namespaceclang.html#aac1b714ac14290e6a552b6953c3b5f21" title="Describes the kind of translation unit being processed.">TranslationUnitKind</a> TUKind,</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *CompletionConsumer) {</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> TheSema.reset(<span class="keyword">new</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_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#a78c9529f4540cd51a0a4cfa3be414300">getASTConsumer</a>(),</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> TUKind, CompletionConsumer));</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> </div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">// Output Files</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ad4e717b11a063450e48140d1a893f221"> 424</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad4e717b11a063450e48140d1a893f221">CompilerInstance::addOutputFile</a>(<span class="keyword">const</span> OutputFile &OutFile) {</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> assert(OutFile.OS && <span class="stringliteral">"Attempt to add empty stream to output list!"</span>);</div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> OutputFiles.push_back(OutFile);</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> </div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ad0d4578fb5e22cfe0f831024b88dc48c"> 429</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad0d4578fb5e22cfe0f831024b88dc48c">CompilerInstance::clearOutputFiles</a>(<span class="keywordtype">bool</span> EraseFiles) {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">for</span> (std::list<OutputFile>::iterator</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> it = OutputFiles.begin(), ie = OutputFiles.end(); it != ie; ++it) {</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keyword">delete</span> it->OS;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">if</span> (!it->TempFilename.empty()) {</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">if</span> (EraseFiles) {</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">bool</span> existed;</div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> llvm::sys::fs::remove(it->TempFilename, existed);</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> NewOutFile(it->Filename);</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">// If '-working-directory' was passed, the output filename should be</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">// relative to that.</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> FileMgr->FixupRelativePath(NewOutFile);</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">if</span> (llvm::error_code ec = llvm::sys::fs::rename(it->TempFilename,</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> NewOutFile.str())) {</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_unable_to_rename_temp)</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> << it->TempFilename << it->Filename << ec.message();</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="keywordtype">bool</span> existed;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> llvm::sys::fs::remove(it->TempFilename, existed);</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> }</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!it->Filename.empty() && EraseFiles)</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> llvm::sys::fs::remove(it->Filename);</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> OutputFiles.clear();</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> </div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> llvm::raw_fd_ostream *</div>
+<div class="line"><a name="l00460"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9"> 460</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">CompilerInstance::createDefaultOutputFile</a>(<span class="keywordtype">bool</span> Binary,</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> StringRef InFile,</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> StringRef Extension) {</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219">createOutputFile</a>(<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().OutputFile, Binary,</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment">/*RemoveFileOnSignal=*/</span><span class="keyword">true</span>, InFile, Extension,</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">/*UseTemporary=*/</span><span class="keyword">true</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> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> llvm::raw_fd_ostream *</div>
+<div class="line"><a name="l00469"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219"> 469</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219">CompilerInstance::createOutputFile</a>(StringRef OutputPath,</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordtype">bool</span> Binary, <span class="keywordtype">bool</span> RemoveFileOnSignal,</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> StringRef InFile,</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> StringRef Extension,</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">bool</span> UseTemporary,</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">bool</span> CreateMissingDirectories) {</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> std::string Error, OutputPathName, TempPathName;</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> llvm::raw_fd_ostream *OS = <a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219">createOutputFile</a>(OutputPath, Error, Binary,</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> RemoveFileOnSignal,</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> InFile, Extension,</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> UseTemporary,</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> CreateMissingDirectories,</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> &OutputPathName,</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> &TempPathName);</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">if</span> (!OS) {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_unable_to_open_output)</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> << OutputPath << Error;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment">// Add the output file -- but don't try to remove "-", since this means we are</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">// using stdin.</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad4e717b11a063450e48140d1a893f221">addOutputFile</a>(OutputFile((OutputPathName != <span class="stringliteral">"-"</span>) ? OutputPathName : <span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> TempPathName, OS));</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordflow">return</span> OS;</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> llvm::raw_fd_ostream *</div>
+<div class="line"><a name="l00498"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a263ddd4c92ad098e2b7a60ae25a2a49c"> 498</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219">CompilerInstance::createOutputFile</a>(StringRef OutputPath,</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> std::string &Error,</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">bool</span> Binary,</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordtype">bool</span> RemoveFileOnSignal,</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> StringRef InFile,</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> StringRef Extension,</div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">bool</span> UseTemporary,</div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">bool</span> CreateMissingDirectories,</div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> std::string *ResultPathName,</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> std::string *TempPathName) {</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> assert((!CreateMissingDirectories || UseTemporary) &&</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="stringliteral">"CreateMissingDirectories is only allowed when using temporary files"</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> std::string OutFile, TempFile;</div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (!OutputPath.empty()) {</div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> OutFile = OutputPath;</div>
+<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (InFile == <span class="stringliteral">"-"</span>) {</div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> OutFile = <span class="stringliteral">"-"</span>;</div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!Extension.empty()) {</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Path(InFile);</div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> llvm::sys::path::replace_extension(Path, Extension);</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> OutFile = Path.str();</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> OutFile = <span class="stringliteral">"-"</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> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::raw_fd_ostream></a> OS;</div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> std::string OSFile;</div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">if</span> (UseTemporary) {</div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keywordflow">if</span> (OutFile == <span class="stringliteral">"-"</span>)</div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> UseTemporary = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> llvm::sys::fs::file_status Status;</div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> llvm::sys::fs::status(OutputPath, Status);</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">if</span> (llvm::sys::fs::exists(Status)) {</div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="comment">// Fail early if we can't write to the final destination.</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">if</span> (!llvm::sys::fs::can_write(OutputPath))</div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
+<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment">// Don't use a temporary if the output is a special file. This handles</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment">// things like '-o /dev/null'</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordflow">if</span> (!llvm::sys::fs::is_regular_file(Status))</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> UseTemporary = <span class="keyword">false</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> }</div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">if</span> (UseTemporary) {</div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment">// Create a temporary file.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> TempPath;</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> TempPath = OutFile;</div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> TempPath += <span class="stringliteral">"-%%%%%%%%"</span>;</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordtype">int</span> fd;</div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> llvm::error_code EC =</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> llvm::sys::fs::createUniqueFile(TempPath.str(), fd, TempPath);</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="keywordflow">if</span> (CreateMissingDirectories &&</div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> EC == llvm::errc::no_such_file_or_directory) {</div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> StringRef Parent = llvm::sys::path::parent_path(OutputPath);</div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> EC = llvm::sys::fs::create_directories(Parent);</div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">if</span> (!EC) {</div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> EC = llvm::sys::fs::createUniqueFile(TempPath.str(), fd, TempPath);</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> }</div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordflow">if</span> (!EC) {</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> OS.reset(<span class="keyword">new</span> llvm::raw_fd_ostream(fd, <span class="comment">/*shouldClose=*/</span><span class="keyword">true</span>));</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> OSFile = TempFile = TempPath.str();</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> <span class="comment">// If we failed to create the temporary, fallback to writing to the file</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="comment">// directly. This handles the corner case where we cannot write to the</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">// directory, but can write to the file.</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> </div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">if</span> (!OS) {</div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> OSFile = OutFile;</div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> OS.reset(<span class="keyword">new</span> llvm::raw_fd_ostream(</div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> OSFile.c_str(), Error,</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> (Binary ? llvm::sys::fs::F_Binary : llvm::sys::fs::F_None)));</div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">if</span> (!Error.empty())</div>
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordflow">return</span> 0;</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="comment">// Make sure the out stream file gets removed if we crash.</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">if</span> (RemoveFileOnSignal)</div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> llvm::sys::RemoveFileOnSignal(OSFile);</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">if</span> (ResultPathName)</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> *ResultPathName = OutFile;</div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">if</span> (TempPathName)</div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> *TempPathName = TempFile;</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">return</span> OS.take();</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">// Initialization Utilities</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
+<div class="line"><a name="l00596"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a47099b8fb4b33df61ffaefa673a4ae98"> 596</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47099b8fb4b33df61ffaefa673a4ae98">CompilerInstance::InitializeSourceManager</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendInputFile.html" title="An input file for the front end.">FrontendInputFile</a> &<a class="code" href="JSONCompilationDatabase_8cpp.html#aece53df006a4f11f7ebaac621f5d3bdb">Input</a>){</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47099b8fb4b33df61ffaefa673a4ae98">InitializeSourceManager</a>(Input, <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(),</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <a class="code" href="classclang_1_1CompilerInstance.html#a96a6364c197bbfb7a9c38084234f19fe" title="Return the current file manager to the caller.">getFileManager</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(), </div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>());</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"><a class="code" href="classclang_1_1CompilerInstance.html#a8b62d78a081c125af01a08c0c7122a70"> 602</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47099b8fb4b33df61ffaefa673a4ae98">CompilerInstance::InitializeSourceManager</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendInputFile.html" title="An input file for the front end.">FrontendInputFile</a> &<a class="code" href="JSONCompilationDatabase_8cpp.html#aece53df006a4f11f7ebaac621f5d3bdb">Input</a>,</div>
+<div class="line"><a name="l00603"></a><span class="lineno"> 603</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="l00604"></a><span class="lineno"> 604</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="l00605"></a><span class="lineno"> 605</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="l00606"></a><span class="lineno"> 606</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> &Opts) {</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</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></div>
+<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = Input.<a class="code" href="classclang_1_1FrontendInputFile.html#aa543b47758abf1a09e612c6250133cdc">isSystem</a>() ? <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dac3b930a303c855d8864c56fcc992074e">SrcMgr::C_System</a> : <a class="code" href="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dab0548ddada8d87ad92e94d67e5af0a4f">SrcMgr::C_User</a>;</div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordflow">if</span> (Input.<a class="code" href="classclang_1_1FrontendInputFile.html#acce9aab83a773666e53ca77b1c132283">isBuffer</a>()) {</div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#ae3e67280d1ff333470c8104ecf4e2b9e" title="Create the FileID for a memory buffer that will represent the FileID for the main source...">createMainFileIDForMemBuffer</a>(Input.<a class="code" href="classclang_1_1FrontendInputFile.html#ad8709fbf3a8183c3d5dc7cc517072e6c">getBuffer</a>(), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> assert(!SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#ad3ac47ab7380c82d19243a2db765479c" title="Returns the FileID of the main source file.">getMainFileID</a>().<a class="code" href="classclang_1_1FileID.html#a89ac6cca1064b7275a777f86450c7863">isInvalid</a>() &&</div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="stringliteral">"Couldn't establish MainFileID!"</span>);</div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> }</div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> StringRef InputFile = Input.<a class="code" href="classclang_1_1FrontendInputFile.html#a63b255666956f6c99367dcbdf0422bbe">getFile</a>();</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment">// Figure out where to get and map in the main file.</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="keywordflow">if</span> (InputFile != <span class="stringliteral">"-"</span>) {</div>
+<div class="line"><a name="l00621"></a><span class="lineno"> 621</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> *File = FileMgr.<a class="code" href="classclang_1_1FileManager.html#ae250b54e2bc90b8075b96ea7e88eff77" title="Lookup, cache, and verify the specified file (real or virtual).">getFile</a>(InputFile, <span class="comment">/*OpenFile=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordflow">if</span> (!File) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_error_reading) << InputFile;</div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="comment">// The natural SourceManager infrastructure can't currently handle named</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment">// pipes, but we would at least like to accept them for the main</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment">// file. Detect them here, read them with the volatile flag so FileMgr will</span></div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">// pick up the correct size, and simply override their contents as we do for</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="comment">// STDIN.</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordflow">if</span> (File-><a class="code" href="classclang_1_1FileEntry.html#a1c5fd51602d0f986f01036a86c79277b" title="Check whether the file is a named pipe (and thus can't be opened by the native FileManager methods)...">isNamedPipe</a>()) {</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> std::string ErrorStr;</div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordflow">if</span> (llvm::MemoryBuffer *MB =</div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> FileMgr.<a class="code" href="classclang_1_1FileManager.html#a4aedd4bd4b3dc2a8df7f3dba692464a8" title="Open the specified file as a MemoryBuffer, returning a new MemoryBuffer if successful, otherwise returning null.">getBufferForFile</a>(File, &ErrorStr, <span class="comment">/*isVolatile=*/</span><span class="keyword">true</span>)) {</div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">// Create a new virtual file that will have the correct size.</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> File = 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>(InputFile, MB->getBufferSize(), 0);</div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</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>(File, MB);</div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_cannot_open_file) << InputFile << ErrorStr;</div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> }</div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a652eb33fbe7222fd717b491be1738ecf" title="Create the FileID for the main source file.">createMainFileID</a>(File, Kind);</div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::MemoryBuffer></a> SB;</div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordflow">if</span> (llvm::error_code ec = llvm::MemoryBuffer::getSTDIN(SB)) {</div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> Diags.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(diag::err_fe_error_reading_stdin) << ec.message();</div>
+<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="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> *File = 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>(SB->getBufferIdentifier(),</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> SB->getBufferSize(), 0);</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a652eb33fbe7222fd717b491be1738ecf" title="Create the FileID for the main source file.">createMainFileID</a>(File, Kind);</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</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>(File, SB.take());</div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> assert(!SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#ad3ac47ab7380c82d19243a2db765479c" title="Returns the FileID of the main source file.">getMainFileID</a>().<a class="code" href="classclang_1_1FileID.html#a89ac6cca1064b7275a777f86450c7863">isInvalid</a>() &&</div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="stringliteral">"Couldn't establish MainFileID!"</span>);</div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> }</div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="comment">// High-Level Operations</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#acab2d9d69ec889a7034634036720ffc5"> 665</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#acab2d9d69ec889a7034634036720ffc5">CompilerInstance::ExecuteAction</a>(<a class="code" href="classclang_1_1FrontendAction.html" title="Abstract base class for actions which can be performed by the frontend.">FrontendAction</a> &Act) {</div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> assert(<a class="code" href="classclang_1_1CompilerInstance.html#adb6cdb7b32ff59fc9db6480205fd3bd0">hasDiagnostics</a>() && <span class="stringliteral">"Diagnostics engine is not initialized!"</span>);</div>
+<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> assert(!<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().ShowHelp && <span class="stringliteral">"Client must handle '-help'!"</span>);</div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> assert(!<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().ShowVersion && <span class="stringliteral">"Client must handle '-version'!"</span>);</div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment">// FIXME: Take this as an argument, once all the APIs we used have moved to</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment">// taking it as an input instead of hard-coding llvm::errs.</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> raw_ostream &OS = llvm::errs();</div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment">// Create the target instance.</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <a class="code" href="classclang_1_1CompilerInstance.html#a5972a3b70aeb763793685ddf6210dfd7" title="Replace the current diagnostics engine.">setTarget</a>(<a class="code" href="classclang_1_1TargetInfo.html#a4f871040b846cf9e01dd66a8b46e2985" title="Construct a target for the given options.">TargetInfo::CreateTargetInfo</a>(<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), &<a class="code" href="classclang_1_1CompilerInstance.html#aa8bf84411ac47e5ae0efe3f3269018bd">getTargetOpts</a>()));</div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1CompilerInstance.html#ad968bf11717b91b627669ec8cdf89d63">hasTarget</a>())</div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">return</span> <span class="keyword">false</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="comment">// Inform the target of the language options.</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">// FIXME: We shouldn't need to do this, the target should be immutable once</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment">// created. This complexity should be lifted elsewhere.</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>().<a class="code" href="classclang_1_1TargetInfo.html#aea8a073fd8fded4165e0d346e226144d" title="Set forced language options.">setForcedLangOptions</a>(<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>());</div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div>
+<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="comment">// rewriter project will change target built-in bool type from its default. </span></div>
+<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().ProgramAction == <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a8ba87375ecbff647fa1056961780b51d" title="ObjC->C Rewriter.">frontend::RewriteObjC</a>)</div>
+<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>().<a class="code" href="classclang_1_1TargetInfo.html#a787550c1df7797157237504aac6d4ef0">noSignedCharForObjCBool</a>();</div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="comment">// Validate/process some options.</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().Verbose)</div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> OS << <span class="stringliteral">"clang -cc1 version "</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></div>
+<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> << <span class="stringliteral">" based upon "</span> << PACKAGE_STRING</div>
+<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> << <span class="stringliteral">" default target "</span> << llvm::sys::getDefaultTargetTriple() << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
+<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().ShowTimers)</div>
+<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8de263254d773b48145b9ad36d70a50f" title="Create the frontend timer and replace any existing one with it.">createFrontendTimer</a>();</div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().ShowStats)</div>
+<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> llvm::EnableStatistics();</div>
+<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
+<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().Inputs.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="comment">// Reset the ID tables if we are reusing the SourceManager.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a1760a743dfce9ca6acc4138a0cb13f14">hasSourceManager</a>())</div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>().<a class="code" href="classclang_1_1SourceManager.html#a68af6d1635e6105adaa25a4205af33a6">clearIDTables</a>();</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> (Act.<a class="code" href="classclang_1_1FrontendAction.html#ad771b06cb303a508bac775897363b73d" title="Prepare the action for processing the input file Input.">BeginSourceFile</a>(*<span class="keyword">this</span>, <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().Inputs[i])) {</div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> Act.<a class="code" href="classclang_1_1FrontendAction.html#a01490ca84fdda64ce002f93508018f9a" title="Set the source manager's main input file, and run the action.">Execute</a>();</div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> Act.<a class="code" href="classclang_1_1FrontendAction.html#a0c0da9a416e556c83ab65e1a2691c0f2" title="Perform any per-file post processing, deallocate per-file objects, and run statistics and output file...">EndSourceFile</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> </div>
+<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="comment">// Notify the diagnostic client that all files were processed.</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">getClient</a>()-><a class="code" href="classclang_1_1DiagnosticConsumer.html#a69db9525165df8cb31a237943ed6cae4" title="Callback to inform the diagnostic client that processing of all source files has ended.">finish</a>();</div>
+<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
+<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>().ShowCarets) {</div>
+<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="comment">// We can have multiple diagnostics sharing one diagnostic client.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="comment">// Get the total number of warnings/errors from the client.</span></div>
+<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordtype">unsigned</span> NumWarnings = <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">getClient</a>()-><a class="code" href="classclang_1_1DiagnosticConsumer.html#a90fde25feccf05b2eee4019aefcaa068">getNumWarnings</a>();</div>
+<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordtype">unsigned</span> NumErrors = <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">getClient</a>()-><a class="code" href="classclang_1_1DiagnosticConsumer.html#a0b9d599cace3787775016b7042ec7a12">getNumErrors</a>();</div>
+<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">if</span> (NumWarnings)</div>
+<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> OS << NumWarnings << <span class="stringliteral">" warning"</span> << (NumWarnings == 1 ? <span class="stringliteral">""</span> : <span class="stringliteral">"s"</span>);</div>
+<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">if</span> (NumWarnings && NumErrors)</div>
+<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> OS << <span class="stringliteral">" and "</span>;</div>
+<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="keywordflow">if</span> (NumErrors)</div>
+<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> OS << NumErrors << <span class="stringliteral">" error"</span> << (NumErrors == 1 ? <span class="stringliteral">""</span> : <span class="stringliteral">"s"</span>);</div>
+<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">if</span> (NumWarnings || NumErrors)</div>
+<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> OS << <span class="stringliteral">" generated.\n"</span>;</div>
+<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> }</div>
+<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
+<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().<a class="code" href="classclang_1_1FrontendOptions.html#a7c2d8c2da9a6d3b247d4aa3bafab6a1f">ShowStats</a> && <a class="code" href="classclang_1_1CompilerInstance.html#ad0eaae9ba9e88e8540f81ad964d74fd7">hasFileManager</a>()) {</div>
+<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <a class="code" href="classclang_1_1CompilerInstance.html#a96a6364c197bbfb7a9c38084234f19fe" title="Return the current file manager to the caller.">getFileManager</a>().<a class="code" href="classclang_1_1FileManager.html#a2f15237be15cb23e7955086020d54687">PrintStats</a>();</div>
+<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> OS << <span class="stringliteral">"\n"</span>;</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="keywordflow">return</span> !<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">getClient</a>()-><a class="code" href="classclang_1_1DiagnosticConsumer.html#a0b9d599cace3787775016b7042ec7a12">getNumErrors</a>();</div>
+<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> }</div>
+<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="comment"></span></div>
+<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment">/// \brief Determine the appropriate source input kind based on language</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="comment">/// options.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#adb1e302b1d0d6aea314c1ab721bf0be5"> 741</a></span> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10">InputKind</a> <a class="code" href="CompilerInstance_8cpp.html#adb1e302b1d0d6aea314c1ab721bf0be5" title="Determine the appropriate source input kind based on language options.">getSourceInputKindFromOptions</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="l00742"></a><span class="lineno"> 742</span> <span class="keywordflow">if</span> (LangOpts.OpenCL)</div>
+<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10a6dfa99f06df95954fc34cd10518b75d8">IK_OpenCL</a>;</div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">if</span> (LangOpts.CUDA)</div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10a2f35df33303fed1d79a81ce9bc7f4077">IK_CUDA</a>;</div>
+<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">if</span> (LangOpts.ObjC1)</div>
+<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordflow">return</span> LangOpts.CPlusPlus? <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10a23bf74f481a55712ed26198171d8a3dd">IK_ObjCXX</a> : <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10a4a4054c30293576e9a09ce76410db6db">IK_ObjC</a>;</div>
+<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordflow">return</span> LangOpts.CPlusPlus? <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10af9da9d80e200fbbe7f087765f9972c1f">IK_CXX</a> : <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10a4c84b88fbd27cf2e1ac5c465a32a511a">IK_C</a>;</div>
+<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> }</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keyword">struct </span>CompileModuleMapData {</div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &Instance;</div>
+<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <a class="code" href="classclang_1_1GenerateModuleAction.html">GenerateModuleAction</a> &CreateModuleAction;</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> }</div>
+<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment"></span></div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">/// \brief Helper function that executes the module-generating action under</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">/// a crash recovery context.</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#ab59c3836483183ab1bed92876e711cbf"> 760</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#ab59c3836483183ab1bed92876e711cbf" title="Helper function that executes the module-generating action under a crash recovery context...">doCompileMapModule</a>(<span class="keywordtype">void</span> *UserData) {</div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> CompileModuleMapData &Data</div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> = *<span class="keyword">reinterpret_cast<</span>CompileModuleMapData *<span class="keyword">></span>(UserData);</div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> Data.Instance.ExecuteAction(Data.CreateModuleAction);</div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
+<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
+<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="comment"> /// \brief Function object that checks with the given macro definition should</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="comment"> /// be removed, because it is one of the ignored macros.</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="comment"></span> <span class="keyword">class </span>RemoveIgnoredMacro {</div>
+<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts;</div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
+<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keyword">explicit</span> RemoveIgnoredMacro(<span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts)</div>
+<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> : HSOpts(HSOpts) { }</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="keywordtype">bool</span> operator()(<span class="keyword">const</span> std::pair<std::string, bool> &def)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> StringRef MacroDef = def.first;</div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">return</span> HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a2144688937661163b5188a19edd834c6" title="The set of macro names that should be ignored for the purposes of computing the module hash...">ModulesIgnoreMacros</a>.count(MacroDef.split(<span class="charliteral">'='</span>).first) > 0;</div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> }</div>
+<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> };</div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> }</div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="comment"></span></div>
+<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="comment">/// \brief Compile a module file for the given module, using the options </span></div>
+<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="comment">/// provided by the importing compiler instance.</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#aeafbdc0224b2f99d5f3a74b74b8e5483"> 785</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#aeafbdc0224b2f99d5f3a74b74b8e5483" title="Compile a module file for the given module, using the options provided by the importing compiler inst...">compileModule</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &ImportingInstance,</div>
+<div class="line"><a name="l00786"></a><span class="lineno"> 786</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> ImportLoc,</div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">Module</a> *<a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">Module</a>,</div>
+<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> StringRef ModuleFileName) {</div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">// FIXME: have LockFileManager return an error_code so that we can</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment">// avoid the mkdir when the directory already exists.</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> StringRef Dir = llvm::sys::path::parent_path(ModuleFileName);</div>
+<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> llvm::sys::fs::create_directories(Dir);</div>
+<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> llvm::LockFileManager Locked(ModuleFileName);</div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordflow">switch</span> (Locked) {</div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">case</span> llvm::LockFileManager::LFS_Error:</div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">case</span> llvm::LockFileManager::LFS_Owned:</div>
+<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment">// We're responsible for building the module ourselves. Do so below.</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">case</span> llvm::LockFileManager::LFS_Shared:</div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment">// Someone else is responsible for building the module. Wait for them to</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment">// finish.</span></div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> Locked.waitForUnlock();</div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> }</div>
+<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
+<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <a class="code" href="classclang_1_1ModuleMap.html">ModuleMap</a> &ModMap </div>
+<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> = ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>().<a class="code" href="classclang_1_1Preprocessor.html#a9dc8733c4a182dee512c14dbdcfe046e">getHeaderSearchInfo</a>().<a class="code" href="classclang_1_1HeaderSearch.html#ae56afbc5eac06aa39ed7c49a5d6dd717" title="Retrieve the module map.">getModuleMap</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> <span class="comment">// Construct a compiler invocation for creating this module.</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<CompilerInvocation></a> Invocation</div>
+<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> (<span class="keyword">new</span> <a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a>(ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#a171249f941c6c546049f4b6107c84d6e">getInvocation</a>()));</div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &PPOpts = Invocation->getPreprocessorOpts();</div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment">// For any options that aren't intended to affect how a module is built,</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment">// reset them to their default values.</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> Invocation->getLangOpts()->resetNonModularOptions();</div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a41dd3a6021d41915f33fa423c7257d36" title="Reset any options that are not considered when building a module.">resetNonModularOptions</a>();</div>
+<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
+<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">// Remove any macro definitions that are explicitly ignored by the module.</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">// They aren't supposed to affect how the module is built anyway.</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts = Invocation->getHeaderSearchOpts();</div>
+<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>.erase(std::remove_if(PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>.begin(), PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>.end(),</div>
+<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> RemoveIgnoredMacro(HSOpts)),</div>
+<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#ae048445dc7b1036784a71d057eb803c1">Macros</a>.end());</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> </div>
+<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">// Note the name of the module we're building.</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> Invocation->getLangOpts()->CurrentModule = Module-><a class="code" href="classclang_1_1Module.html#a9500036125ff28f527f653855d6077c8" title="Retrieve the name of the top-level module.">getTopLevelModuleName</a>();</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">// Make sure that the failed-module structure has been allocated in</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="comment">// the importing instance, and propagate the pointer to the newly-created</span></div>
+<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="comment">// instance.</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &ImportingPPOpts</div>
+<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> = ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#a171249f941c6c546049f4b6107c84d6e">getInvocation</a>().<a class="code" href="classclang_1_1CompilerInvocationBase.html#af26aa2f4a5df780a3b5898eef70763d5">getPreprocessorOpts</a>();</div>
+<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordflow">if</span> (!ImportingPPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#adb8e88ad71e7890a8d54a6911fb1f8a6" title="The set of modules that failed to build.">FailedModules</a>)</div>
+<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> ImportingPPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#adb8e88ad71e7890a8d54a6911fb1f8a6" title="The set of modules that failed to build.">FailedModules</a> = <span class="keyword">new</span> <a class="code" href="classclang_1_1PreprocessorOptions_1_1FailedModulesSet.html" title="Records the set of modules.">PreprocessorOptions::FailedModulesSet</a>;</div>
+<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#adb8e88ad71e7890a8d54a6911fb1f8a6" title="The set of modules that failed to build.">FailedModules</a> = ImportingPPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#adb8e88ad71e7890a8d54a6911fb1f8a6" title="The set of modules that failed to build.">FailedModules</a>;</div>
+<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
+<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="comment">// If there is a module map file, build the module using the module map.</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">// Set up the inputs/outputs so that we build the module from its umbrella</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment">// header.</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FrontendOpts = Invocation->getFrontendOpts();</div>
+<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> FrontendOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a7b09d06e2ab796fc22e43f67a6f36b5b" title="The output file, if any.">OutputFile</a> = ModuleFileName.str();</div>
+<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> FrontendOpts.<a class="code" href="classclang_1_1FrontendOptions.html#adccf396bebfe929285746d103e9d90b3" title="Disable memory freeing on exit.">DisableFree</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> FrontendOpts.<a class="code" href="classclang_1_1FrontendOptions.html#acface48e3ca73e16bc8569dec5c42839">GenerateGlobalModuleIndex</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> FrontendOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a95a3f648ae866e50b78434e049d87218" title="The input files and their types.">Inputs</a>.clear();</div>
+<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <a class="code" href="namespaceclang.html#a7f0d2857e98f529ab752288e24013c10">InputKind</a> IK = <a class="code" href="CompilerInstance_8cpp.html#adb1e302b1d0d6aea314c1ab721bf0be5" title="Determine the appropriate source input kind based on language options.">getSourceInputKindFromOptions</a>(*Invocation->getLangOpts());</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> <span class="comment">// Don't free the remapped file buffers; they are owned by our caller.</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> PPOpts.<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> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
+<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> Invocation->getDiagnosticOpts().VerifyDiagnostics = 0;</div>
+<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> assert(ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#a171249f941c6c546049f4b6107c84d6e">getInvocation</a>().<a class="code" href="classclang_1_1CompilerInvocation.html#a234ce051b3992d616a6fd2235a5ee3e3" title="Retrieve a module hash string that is suitable for uniquely identifying the conditions under which th...">getModuleHash</a>() ==</div>
+<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> Invocation->getModuleHash() && <span class="stringliteral">"Module hash mismatch!"</span>);</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">// Construct a compiler instance that will be used to actually create the</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="comment">// module.</span></div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> Instance;</div>
+<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> Instance.<a class="code" href="classclang_1_1CompilerInstance.html#a68360c9e4e5ed0347161e082e609c6c9" title="setInvocation - Replace the current invocation.">setInvocation</a>(&*Invocation);</div>
+<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
+<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> Instance.createDiagnostics(<span class="keyword">new</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html" title="Diagnostic consumer that forwards diagnostics along to an existing, already-initialized diagnostic co...">ForwardingDiagnosticConsumer</a>(</div>
+<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#abc5c9a3f1747d0c8f76c0238569b972d">getDiagnosticClient</a>()),</div>
+<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="comment">/*ShouldOwnClient=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
+<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment">// Note that this module is part of the module build stack, so that we</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="comment">// can detect cycles in the module graph.</span></div>
+<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> Instance.createFileManager(); <span class="comment">// FIXME: Adopt file manager from importer?</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> Instance.createSourceManager(Instance.getFileManager());</div>
+<div class="line"><a name="l00874"></a><span class="lineno"> 874</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> = Instance.getSourceManager();</div>
+<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a599a8c8f35afca49e1addd1d3d4a34d0" title="Set the module build stack.">setModuleBuildStack</a>(</div>
+<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>().<a class="code" href="classclang_1_1SourceManager.html#a5aa4cea4f2b00c10ee13f0fc05b273ea" title="Retrieve the module build stack.">getModuleBuildStack</a>());</div>
+<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a8cae93c3d36adb141e3dbf403b74f76c" title="Push an entry to the module build stack.">pushModuleBuildStack</a>(Module-><a class="code" href="classclang_1_1Module.html#a9500036125ff28f527f653855d6077c8" title="Retrieve the name of the top-level module.">getTopLevelModuleName</a>(),</div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a>(ImportLoc, ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>()));</div>
+<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
+<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="comment">// Get or create the module map that we'll use to build this module.</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> std::string InferredModuleMapContent;</div>
+<div class="line"><a name="l00882"></a><span class="lineno"> 882</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> *ModuleMapFile =</div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> ModMap.<a class="code" href="classclang_1_1ModuleMap.html#aa287c482ce0aac99831c2e2746b29612" title="Retrieve the module map file containing the definition of the given module.">getContainingModuleMapFile</a>(Module)) {</div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="comment">// Use the module map where this module resides.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> FrontendOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a95a3f648ae866e50b78434e049d87218" title="The input files and their types.">Inputs</a>.push_back(</div>
+<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <a class="code" href="classclang_1_1FrontendInputFile.html" title="An input file for the front end.">FrontendInputFile</a>(ModuleMapFile->getName(), IK));</div>
+<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> llvm::raw_string_ostream OS(InferredModuleMapContent);</div>
+<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> Module-><a class="code" href="classclang_1_1Module.html#a218ddc50d9601fb295a115546ce1e4d2" title="Print the module map for this module to the given stream.">print</a>(OS);</div>
+<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> OS.flush();</div>
+<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> FrontendOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a95a3f648ae866e50b78434e049d87218" title="The input files and their types.">Inputs</a>.push_back(</div>
+<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <a class="code" href="classclang_1_1FrontendInputFile.html" title="An input file for the front end.">FrontendInputFile</a>(<span class="stringliteral">"__inferred_module.map"</span>, IK));</div>
+<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
+<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="keyword">const</span> llvm::MemoryBuffer *ModuleMapBuffer =</div>
+<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> llvm::MemoryBuffer::getMemBuffer(InferredModuleMapContent);</div>
+<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> ModuleMapFile = Instance.getFileManager().getVirtualFile(</div>
+<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="stringliteral">"__inferred_module.map"</span>, InferredModuleMapContent.size(), 0);</div>
+<div class="line"><a name="l00898"></a><span class="lineno"> 898</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>(ModuleMapFile, ModuleMapBuffer);</div>
+<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> }</div>
+<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
+<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment">// Construct a module-generating action.</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <a class="code" href="classclang_1_1GenerateModuleAction.html">GenerateModuleAction</a> CreateModuleAction(Module-><a class="code" href="classclang_1_1Module.html#a505c7530ef3ac10e3f8c207e5722a158" title="Whether this is a "system" module (which assumes that all headers in it are system headers)...">IsSystem</a>);</div>
+<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div>
+<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="comment">// Execute the action to actually build the module in-place. Use a separate</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="comment">// thread so that we get a stack large enough.</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> ThreadStackSize = 8 << 20;</div>
+<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> llvm::CrashRecoveryContext CRC;</div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> CompileModuleMapData Data = { Instance, CreateModuleAction };</div>
+<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> CRC.RunSafelyOnThread(&<a class="code" href="CompilerInstance_8cpp.html#ab59c3836483183ab1bed92876e711cbf" title="Helper function that executes the module-generating action under a crash recovery context...">doCompileMapModule</a>, &Data, ThreadStackSize);</div>
+<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
+<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div>
+<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="comment">// Delete the temporary module map file.</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="comment">// FIXME: Even though we're executing under crash protection, it would still</span></div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="comment">// be nice to do this with RemoveFileOnSignal when we can. However, that</span></div>
+<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="comment">// doesn't make sense for all clients, so clean this up manually.</span></div>
+<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> Instance.clearOutputFiles(<span class="comment">/*EraseFiles=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="comment">// We've rebuilt a module. If we're allowed to generate or update the global</span></div>
+<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="comment">// module index, record that fact in the importing compiler instance.</span></div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordflow">if</span> (ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().<a class="code" href="classclang_1_1FrontendOptions.html#acface48e3ca73e16bc8569dec5c42839">GenerateGlobalModuleIndex</a>) {</div>
+<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> ImportingInstance.<a class="code" href="classclang_1_1CompilerInstance.html#a4d277e6deb84bb95eb3bbe70be2adb2d" title="Set the flag indicating whether we should (re)build the global module index.">setBuildGlobalModuleIndex</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> }</div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> }</div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="comment"></span></div>
+<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="comment">/// \brief Diagnose differences between the current definition of the given</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="comment">/// configuration macro and the definition provided on the command line.</span></div>
+<div class="line"><a name="l00927"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#a95f09282d8e18a56d2dd3561ac21d6da"> 927</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#a95f09282d8e18a56d2dd3561ac21d6da" title="Diagnose differences between the current definition of the given configuration macro and the definiti...">checkConfigMacro</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP, StringRef ConfigMacro,</div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">Module</a> *Mod, <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> ImportLoc) {</div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Id = PP.<a class="code" href="classclang_1_1Preprocessor.html#acbacad0c69321bd63102c7697a95b67d">getIdentifierInfo</a>(ConfigMacro);</div>
+<div class="line"><a name="l00930"></a><span class="lineno"> 930</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> = PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>();</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="comment">// If this identifier has never had a macro definition, then it could</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="comment">// not have changed.</span></div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordflow">if</span> (!Id-><a class="code" href="classclang_1_1IdentifierInfo.html#aec139c9a39e529ba15c88efdb4152758" title="Returns true if this identifier was #defined to some value at any moment. In this case there should b...">hadMacroDefinition</a>())</div>
+<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="comment">// If this identifier does not currently have a macro definition,</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment">// check whether it had one on the command line.</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordflow">if</span> (!Id-><a class="code" href="classclang_1_1IdentifierInfo.html#a34cb7627ed0055795b041425667ee8a8" title="Return true if this identifier is #defined to some other value.">hasMacroDefinition</a>()) {</div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html">MacroDirective::DefInfo</a> LatestDef =</div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a5ddfa2be3b0fd4cdf82e45034da6f35a" title="Given an identifier, return the (probably #undef'd) MacroInfo representing the most recent macro defi...">getMacroDirectiveHistory</a>(Id)-><a class="code" href="classclang_1_1MacroDirective.html#ac3062e528778a25dc02f7d007b96114e" title="Traverses the macro directives history and returns the next macro definition directive along with inf...">getDefinition</a>();</div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html">MacroDirective::DefInfo</a> Def = LatestDef; Def;</div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> Def = Def.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a3c9e47f42ead9a1bb1f415323a730a52">getPreviousDefinition</a>()) {</div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> FID = SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a2689190a49ad77cb4f5d022d48d92a9a" title="Return the FileID for a SourceLocation.">getFileID</a>(Def.getLocation());</div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="keywordflow">if</span> (FID.<a class="code" href="classclang_1_1FileID.html#a89ac6cca1064b7275a777f86450c7863">isInvalid</a>())</div>
+<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
+<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="comment">// We only care about the predefines buffer.</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">if</span> (FID != PP.<a class="code" href="classclang_1_1Preprocessor.html#a870eb0cfb41f9e619ab76b1109dc3bae" title="Returns the file ID for the preprocessor predefines.">getPredefinesFileID</a>())</div>
+<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div>
+<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> <span class="comment">// This macro was defined on the command line, then #undef'd later.</span></div>
+<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="comment">// Complain.</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a6baeb25e8bb853d4ed0d8acca0666cc0">Diag</a>(ImportLoc, diag::warn_module_config_macro_undef)</div>
+<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> << <span class="keyword">true</span> << ConfigMacro << Mod-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>();</div>
+<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keywordflow">if</span> (LatestDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a9d1bcee0786df50e90dcb43792a8be6a">isUndefined</a>())</div>
+<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a6baeb25e8bb853d4ed0d8acca0666cc0">Diag</a>(LatestDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a69b839431a581fd8e6471280db321d2c">getUndefLocation</a>(), diag::note_module_def_undef_here)</div>
+<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> << <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
+<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="comment">// Okay: no definition in the predefines buffer.</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> }</div>
+<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment">// This identifier has a macro definition. Check whether we had a definition</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="comment">// on the command line.</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html">MacroDirective::DefInfo</a> LatestDef =</div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a5ddfa2be3b0fd4cdf82e45034da6f35a" title="Given an identifier, return the (probably #undef'd) MacroInfo representing the most recent macro defi...">getMacroDirectiveHistory</a>(Id)-><a class="code" href="classclang_1_1MacroDirective.html#ac3062e528778a25dc02f7d007b96114e" title="Traverses the macro directives history and returns the next macro definition directive along with inf...">getDefinition</a>();</div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html">MacroDirective::DefInfo</a> PredefinedDef;</div>
+<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html">MacroDirective::DefInfo</a> Def = LatestDef; Def;</div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> Def = Def.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a3c9e47f42ead9a1bb1f415323a730a52">getPreviousDefinition</a>()) {</div>
+<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> FID = SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a2689190a49ad77cb4f5d022d48d92a9a" title="Return the FileID for a SourceLocation.">getFileID</a>(Def.getLocation());</div>
+<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="keywordflow">if</span> (FID.<a class="code" href="classclang_1_1FileID.html#a89ac6cca1064b7275a777f86450c7863">isInvalid</a>())</div>
+<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">// We only care about the predefines buffer.</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">if</span> (FID != PP.<a class="code" href="classclang_1_1Preprocessor.html#a870eb0cfb41f9e619ab76b1109dc3bae" title="Returns the file ID for the preprocessor predefines.">getPredefinesFileID</a>())</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div>
+<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> PredefinedDef = Def;</div>
+<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> }</div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="comment">// If there was no definition for this macro in the predefines buffer,</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="comment">// complain.</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">if</span> (!PredefinedDef ||</div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> (!PredefinedDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a163f04323461f1a73d3193c535cce1f7">getLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() &&</div>
+<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> PredefinedDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a69b839431a581fd8e6471280db321d2c">getUndefLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>())) {</div>
+<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a6baeb25e8bb853d4ed0d8acca0666cc0">Diag</a>(ImportLoc, diag::warn_module_config_macro_undef)</div>
+<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> << <span class="keyword">false</span> << ConfigMacro << Mod-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>();</div>
+<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a6baeb25e8bb853d4ed0d8acca0666cc0">Diag</a>(LatestDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a163f04323461f1a73d3193c535cce1f7">getLocation</a>(), diag::note_module_def_undef_here)</div>
+<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> << <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> }</div>
+<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
+<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="comment">// If the current macro definition is the same as the predefined macro</span></div>
+<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="comment">// definition, it's okay.</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="keywordflow">if</span> (LatestDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a5b4f67b9ad7af09e7e7d91c089ffe28b">getMacroInfo</a>() == PredefinedDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a5b4f67b9ad7af09e7e7d91c089ffe28b">getMacroInfo</a>() ||</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> LatestDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a5b4f67b9ad7af09e7e7d91c089ffe28b">getMacroInfo</a>()-><a class="code" href="classclang_1_1MacroInfo.html#a979840859913a30f4919756c6ddae8aa" title="Return true if the specified macro definition is equal to this macro in spelling, arguments...">isIdenticalTo</a>(*PredefinedDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a5b4f67b9ad7af09e7e7d91c089ffe28b">getMacroInfo</a>(),PP,</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="comment">/*Syntactically=*/</span><span class="keyword">true</span>))</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="comment">// The macro definitions differ.</span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a6baeb25e8bb853d4ed0d8acca0666cc0">Diag</a>(ImportLoc, diag::warn_module_config_macro_undef)</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> << <span class="keyword">false</span> << ConfigMacro << Mod-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>();</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> PP.<a class="code" href="classclang_1_1Preprocessor.html#a6baeb25e8bb853d4ed0d8acca0666cc0">Diag</a>(LatestDef.<a class="code" href="classclang_1_1MacroDirective_1_1DefInfo.html#a163f04323461f1a73d3193c535cce1f7">getLocation</a>(), diag::note_module_def_undef_here)</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> << <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</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 Write a new timestamp file with the given path.</span></div>
+<div class="line"><a name="l01012"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#ab9f0418e712e930d9aa516ac08860491"> 1012</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#ab9f0418e712e930d9aa516ac08860491" title="Write a new timestamp file with the given path.">writeTimestampFile</a>(StringRef TimestampFile) {</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> std::string ErrorInfo;</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> llvm::raw_fd_ostream Out(TimestampFile.str().c_str(), ErrorInfo,</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> llvm::sys::fs::F_Binary);</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</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 Prune the module cache of modules that haven't been accessed in</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment">/// a long time.</span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"><a class="code" href="CompilerInstance_8cpp.html#a27f045a9e52dc564fdb944df86acd44a"> 1020</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CompilerInstance_8cpp.html#a27f045a9e52dc564fdb944df86acd44a" title="Prune the module cache of modules that haven't been accessed in a long time.">pruneModuleCache</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &HSOpts) {</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keyword">struct </span>stat StatBuf;</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <a class="code" href="classllvm_1_1SmallString.html">llvm::SmallString<128></a> TimestampFile;</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> TimestampFile = HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a8c2a9d11a35b6c25f5700273fc816610" title="The directory used for the module cache.">ModuleCachePath</a>;</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> llvm::sys::path::append(TimestampFile, <span class="stringliteral">"modules.timestamp"</span>);</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">// Try to stat() the timestamp file.</span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <span class="keywordflow">if</span> (::stat(TimestampFile.c_str(), &StatBuf)) {</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="comment">// If the timestamp file wasn't there, create one now.</span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">if</span> (errno == ENOENT) {</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <a class="code" href="CompilerInstance_8cpp.html#ab9f0418e712e930d9aa516ac08860491" title="Write a new timestamp file with the given path.">writeTimestampFile</a>(TimestampFile);</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> }</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> }</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment">// Check whether the time stamp is older than our pruning interval.</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="comment">// If not, do nothing.</span></div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> time_t TimeStampModTime = StatBuf.st_mtime;</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> time_t CurrentTime = time(0);</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keywordflow">if</span> (CurrentTime - TimeStampModTime <= time_t(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a1ae175391f10d03bf5f0630dfad836a5" title="The interval (in seconds) between pruning operations.">ModuleCachePruneInterval</a>))</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> </div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="comment">// Write a new timestamp file so that nobody else attempts to prune.</span></div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="comment">// There is a benign race condition here, if two Clang instances happen to</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="comment">// notice at the same time that the timestamp is out-of-date.</span></div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <a class="code" href="CompilerInstance_8cpp.html#ab9f0418e712e930d9aa516ac08860491" title="Write a new timestamp file with the given path.">writeTimestampFile</a>(TimestampFile);</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="comment">// Walk the entire module cache, looking for unused module files and module</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="comment">// indices.</span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> llvm::error_code EC;</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> ModuleCachePathNative;</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> llvm::sys::path::native(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#a8c2a9d11a35b6c25f5700273fc816610" title="The directory used for the module cache.">ModuleCachePath</a>, ModuleCachePathNative);</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keywordflow">for</span> (llvm::sys::fs::directory_iterator</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> Dir(ModuleCachePathNative.str(), EC), DirEnd;</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> Dir != DirEnd && !EC; Dir.increment(EC)) {</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="comment">// If we don't have a directory, there's nothing to look into.</span></div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordflow">if</span> (!llvm::sys::fs::is_directory(Dir->path()))</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">// Walk all of the files within this directory.</span></div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordtype">bool</span> RemovedAllFiles = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="keywordflow">for</span> (llvm::sys::fs::directory_iterator File(Dir->path(), EC), FileEnd;</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> File != FileEnd && !EC; File.increment(EC)) {</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment">// We only care about module and global module index files.</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keywordflow">if</span> (llvm::sys::path::extension(File->path()) != <span class="stringliteral">".pcm"</span> &&</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> llvm::sys::path::filename(File->path()) != <span class="stringliteral">"modules.idx"</span>) {</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> RemovedAllFiles = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> }</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment">// Look at this file. If we can't stat it, there's nothing interesting</span></div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment">// there.</span></div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordflow">if</span> (::stat(File->path().c_str(), &StatBuf)) {</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> RemovedAllFiles = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment">// If the file has been used recently enough, leave it there.</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> time_t FileAccessTime = StatBuf.st_atime;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordflow">if</span> (CurrentTime - FileAccessTime <=</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> time_t(HSOpts.<a class="code" href="classclang_1_1HeaderSearchOptions.html#ae38bd3c3f7c7d3e696eba59d484f7b32" title="The time (in seconds) after which an unused module file will be considered unused and will...">ModuleCachePruneAfter</a>)) {</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> RemovedAllFiles = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordflow">continue</span>;</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> </div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="comment">// Remove the file.</span></div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordtype">bool</span> Existed;</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordflow">if</span> (llvm::sys::fs::remove(File->path(), Existed) || !Existed) {</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> RemovedAllFiles = <span class="keyword">false</span>;</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> }</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="comment">// If we removed all of the files in the directory, remove the directory</span></div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="comment">// itself.</span></div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">if</span> (RemovedAllFiles) {</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordtype">bool</span> Existed;</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> llvm::sys::fs::remove(Dir->path(), Existed);</div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</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> </div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a></div>
+<div class="line"><a name="l01102"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a092ee5b0a8b55fe456f2c460b2171b5b"> 1102</a></span> <a class="code" href="classclang_1_1CompilerInstance.html#a092ee5b0a8b55fe456f2c460b2171b5b" title="}">CompilerInstance::loadModule</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> ImportLoc,</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <a class="code" href="classllvm_1_1ArrayRef.html">ModuleIdPath</a> Path,</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <a class="code" href="classclang_1_1Module.html#a1ca9cf81299c2f40c68d04f44eea8a67" title="Describes the visibility of the various names within a particular module.">Module::NameVisibilityKind</a> <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>,</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordtype">bool</span> IsInclusionDirective) {</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="comment">// Determine what file we're searching from.</span></div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> StringRef ModuleName = Path[0].first->getName();</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</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> ModuleNameLoc = Path[0].second;</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> </div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="comment">// If we've already handled this import, just return the cached result.</span></div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="comment">// This one-element cache is important to eliminate redundant diagnostics</span></div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment">// when both the preprocessor and parser see the same import declaration.</span></div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">if</span> (!ImportLoc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>() && LastModuleImportLoc == ImportLoc) {</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="comment">// Make the named module visible.</span></div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordflow">if</span> (LastModuleImportResult && ModuleName != <a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>().<a class="code" href="classclang_1_1LangOptions.html#afd139a4fe76990c1c01e77ae67cd1310" title="The name of the current module.">CurrentModule</a>)</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#a5e5f186729969db7cbc81d30c7d4fd71" title="Make the entities in the given module and any of its (non-explicit) submodules visible to name lookup...">makeModuleVisible</a>(LastModuleImportResult, Visibility,</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> ImportLoc, <span class="comment">/*Complain=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">return</span> LastModuleImportResult;</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> }</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">clang::Module</a> *<a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">Module</a> = 0;</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> </div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="comment">// If we don't already have information on this module, load the module now.</span></div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> llvm::DenseMap<const IdentifierInfo *, clang::Module *>::iterator Known</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> = KnownModules.find(Path[0].first);</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="keywordflow">if</span> (Known != KnownModules.end()) {</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment">// Retrieve the cached top-level module.</span></div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> Module = Known->second; </div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ModuleName == <a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>().<a class="code" href="classclang_1_1LangOptions.html#afd139a4fe76990c1c01e77ae67cd1310" title="The name of the current module.">CurrentModule</a>) {</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="comment">// This is the module we're building. </span></div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> Module = PP->getHeaderSearchInfo().getModuleMap().findModule(ModuleName);</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> Known = KnownModules.insert(std::make_pair(Path[0].first, Module)).first;</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="comment">// Search for a module with the given name.</span></div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> Module = PP->getHeaderSearchInfo().lookupModule(ModuleName);</div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> std::string ModuleFileName;</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">if</span> (Module) {</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> ModuleFileName = PP->getHeaderSearchInfo().getModuleFileName(Module);</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> } <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> ModuleFileName = PP->getHeaderSearchInfo().getModuleFileName(ModuleName);</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> <span class="comment">// If we don't already have an ASTReader, create one now.</span></div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">if</span> (!ModuleManager) {</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1CompilerInstance.html#a7766c4bd37874a2db70062863aafcc01">hasASTContext</a>())</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <a class="code" href="classclang_1_1CompilerInstance.html#a609e1bbc05d1fc2ca7a8d5d3146b5dd1" title="Create the AST context.">createASTContext</a>();</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> </div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment">// If we're not recursively building a module, check whether we</span></div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="comment">// need to prune the module cache.</span></div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>().getModuleBuildStack().empty() &&</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().ModuleCachePruneInterval > 0 &&</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().ModuleCachePruneAfter > 0) {</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <a class="code" href="CompilerInstance_8cpp.html#a27f045a9e52dc564fdb944df86acd44a" title="Prune the module cache of modules that haven't been accessed in a long time.">pruneModuleCache</a>(<a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>());</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> }</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> std::string Sysroot = <a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>().<a class="code" href="classclang_1_1HeaderSearchOptions.html#a7b2c49429c3e24836a745727bd14dfbb">Sysroot</a>;</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &PPOpts = <a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>();</div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> ModuleManager = <span class="keyword">new</span> <a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>(<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), *<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> Sysroot.empty() ? <span class="stringliteral">""</span> : Sysroot.c_str(),</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#afbbf74f590f04a8fb30bb1c63547d828" title="When true, disables most of the normal validation performed on precompiled headers.">DisablePCHValidation</a>,</div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="comment">/*AllowASTWithCompilerErrors=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>().<a class="code" href="classclang_1_1FrontendOptions.html#afb81b7bd64b782bcc690119f2ed5fcbc">UseGlobalModuleIndex</a>);</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a6f84def29e662b0f1fc19dc343a3505d">hasASTConsumer</a>()) {</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#ae022998e598f94eae58d715ee810b75d" title="Set the AST deserialization listener.">setDeserializationListener</a>(</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <a class="code" href="classclang_1_1CompilerInstance.html#a78c9529f4540cd51a0a4cfa3be414300">getASTConsumer</a>().GetASTDeserializationListener());</div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a5a39b61c1da6b31ed498da0bbc2b8308" title="Attach an AST mutation listener to the AST context.">setASTMutationListener</a>(</div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <a class="code" href="classclang_1_1CompilerInstance.html#a78c9529f4540cd51a0a4cfa3be414300">getASTConsumer</a>().GetASTMutationListener());</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> }</div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<ExternalASTSource></a> Source;</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> Source.reset(ModuleManager);</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a9f13d96b21dad7c71264f23a8cf05c1d" title="Attach an external AST source to the AST context.">setExternalSource</a>(Source);</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a2697f71e97b2b862c0f0d95f412a52bc">hasSema</a>())</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#af47a3204294bf79be1ed3fa4749b7904" title="Initialize the semantic source with the Sema instance being used to perform semantic analysis on the ...">InitializeSema</a>(<a class="code" href="classclang_1_1CompilerInstance.html#a0ae6e29859e1e1926c01a8201f6a00ee">getSema</a>());</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a6f84def29e662b0f1fc19dc343a3505d">hasASTConsumer</a>())</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#aebb96460f96c36ccd73f125002d51aef" title="Function that will be invoked when we begin parsing a new translation unit involving this external AS...">StartTranslationUnit</a>(&<a class="code" href="classclang_1_1CompilerInstance.html#a78c9529f4540cd51a0a4cfa3be414300">getASTConsumer</a>());</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> }</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="comment">// Try to load the module file.</span></div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="keywordtype">unsigned</span> ARRFlags = <a class="code" href="classclang_1_1ASTReader.html#a1ef10402198040c36f537a57bc633ca0aa86bb8b2fe66cf9874a40e96031f6b0e" title="The client can handle an AST file that cannot load because it is out-of-date relative to its input fi...">ASTReader::ARR_OutOfDate</a> | <a class="code" href="classclang_1_1ASTReader.html#a1ef10402198040c36f537a57bc633ca0a2c1c16a6ec81a0d9183f19a135468d55" title="The client can handle an AST file that cannot load because it is missing.">ASTReader::ARR_Missing</a>;</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordflow">switch</span> (ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#a39c08f8450753c190a0c804ad453c870" title="Load the AST file designated by the given file name.">ReadAST</a>(ModuleFileName, <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea22e2f1dba8920d73cd2979ca1e17a097" title="File is a module proper.">serialization::MK_Module</a>,</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> ImportLoc, ARRFlags)) {</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a22a203378a875589f6013335def54572" title="The control block was read successfully. Aside from failures, the AST file is safe to read into the c...">ASTReader::Success</a>:</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> </div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a955fa046aaf1f1a1a5c48d21c24e8863" title="The AST file is out-of-date relative to its input files, and needs to be regenerated.">ASTReader::OutOfDate</a>:</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243aec84e2a366d426f45d8d9e9e2509bfb2" title="The AST file was missing.">ASTReader::Missing</a>: {</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="comment">// The module file is missing or out-of-date. Build it.</span></div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> </div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="comment">// If we don't have a module, we don't know how to build the module file.</span></div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="comment">// Complain and return.</span></div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordflow">if</span> (!Module) {</div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(ModuleNameLoc, diag::err_module_not_found)</div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> << ModuleName</div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(ImportLoc, ModuleNameLoc);</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> ModuleBuildFailed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> }</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="comment">// Check whether there is a cycle in the module graph.</span></div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <a class="code" href="classllvm_1_1ArrayRef.html">ModuleBuildStack</a> ModPath = <a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>().<a class="code" href="classclang_1_1SourceManager.html#a5aa4cea4f2b00c10ee13f0fc05b273ea" title="Retrieve the module build stack.">getModuleBuildStack</a>();</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> ModuleBuildStack::iterator Pos = ModPath.begin(), PosEnd = ModPath.end();</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordflow">for</span> (; Pos != PosEnd; ++Pos) {</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="keywordflow">if</span> (Pos->first == ModuleName)</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> }</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">if</span> (Pos != PosEnd) {</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> CyclePath;</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="keywordflow">for</span> (; Pos != PosEnd; ++Pos) {</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> CyclePath += Pos->first;</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> CyclePath += <span class="stringliteral">" -> "</span>;</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> }</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> CyclePath += ModuleName;</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(ModuleNameLoc, diag::err_module_cycle)</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> << ModuleName << CyclePath;</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> }</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="comment">// Check whether we have already attempted to build this module (but</span></div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="comment">// failed).</span></div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>().FailedModules &&</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>().FailedModules->hasAlreadyFailed(ModuleName)) {</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(ModuleNameLoc, diag::err_module_not_built)</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> << ModuleName</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(ImportLoc, ModuleNameLoc);</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> ModuleBuildFailed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> }</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> <span class="comment">// Try to compile the module.</span></div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <a class="code" href="CompilerInstance_8cpp.html#aeafbdc0224b2f99d5f3a74b74b8e5483" title="Compile a module file for the given module, using the options provided by the importing compiler inst...">compileModule</a>(*<span class="keyword">this</span>, ModuleNameLoc, Module, ModuleFileName);</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="comment">// Try to read the module file, now that we've compiled it.</span></div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243" title="The result of reading the control block of an AST file, which can fail for various reasons...">ASTReader::ASTReadResult</a> ReadResult</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> = ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#a39c08f8450753c190a0c804ad453c870" title="Load the AST file designated by the given file name.">ReadAST</a>(ModuleFileName,</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea22e2f1dba8920d73cd2979ca1e17a097" title="File is a module proper.">serialization::MK_Module</a>, ImportLoc,</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <a class="code" href="classclang_1_1ASTReader.html#a1ef10402198040c36f537a57bc633ca0a2c1c16a6ec81a0d9183f19a135468d55" title="The client can handle an AST file that cannot load because it is missing.">ASTReader::ARR_Missing</a>);</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordflow">if</span> (ReadResult != <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a22a203378a875589f6013335def54572" title="The control block was read successfully. Aside from failures, the AST file is safe to read into the c...">ASTReader::Success</a>) {</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="keywordflow">if</span> (ReadResult == <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243aec84e2a366d426f45d8d9e9e2509bfb2" title="The AST file was missing.">ASTReader::Missing</a>) {</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(ModuleNameLoc,</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> Module? diag::err_module_not_built</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> : diag::err_module_not_found)</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> << ModuleName</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(ImportLoc, ModuleNameLoc);</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> }</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> </div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>().FailedModules)</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>().<a class="code" href="classclang_1_1PreprocessorOptions.html#adb8e88ad71e7890a8d54a6911fb1f8a6" title="The set of modules that failed to build.">FailedModules</a>->addFailed(ModuleName);</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> KnownModules[Path[0].first] = 0;</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> ModuleBuildFailed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> }</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">// Okay, we've rebuilt and now loaded the module.</span></div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> }</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> </div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243ae145b87ff56754261c9f144c9d0adf73" title="The AST file was written by a different version of Clang.">ASTReader::VersionMismatch</a>:</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243a2b295dac09a7e70bca0730292a5ed436" title="The AST file was writtten with a different language/target configuration.">ASTReader::ConfigurationMismatch</a>:</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243aea1a4079a594b06c0f15d4d670bef68d" title="The AST file has errors.">ASTReader::HadErrors</a>:</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <a class="code" href="classclang_1_1ModuleLoader.html#a09f6c2bf60e24a1ccfa3802f09c0fd79">ModuleLoader::HadFatalFailure</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="comment">// FIXME: The ASTReader will already have complained, but can we showhorn</span></div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="comment">// that diagnostic information into a more useful form?</span></div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> KnownModules[Path[0].first] = 0;</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> </div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ASTReader.html#ab2e8cada1e79a39d27461e0137550243ad2ad62e53379946597e50d557e8ef953" title="The AST file itself appears corrupted.">ASTReader::Failure</a>:</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <a class="code" href="classclang_1_1ModuleLoader.html#a09f6c2bf60e24a1ccfa3802f09c0fd79">ModuleLoader::HadFatalFailure</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="comment">// Already complained, but note now that we failed.</span></div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> KnownModules[Path[0].first] = 0;</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> ModuleBuildFailed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> }</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> </div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordflow">if</span> (!Module) {</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="comment">// If we loaded the module directly, without finding a module map first,</span></div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="comment">// we'll have loaded the module's information from the module itself.</span></div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> Module = PP->getHeaderSearchInfo().getModuleMap()</div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> .findModule((Path[0].first->getName()));</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> }</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> </div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="comment">// Cache the result of this top-level module lookup for later.</span></div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> Known = KnownModules.insert(std::make_pair(Path[0].first, Module)).first;</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> }</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> </div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment">// If we never found the module, fail.</span></div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordflow">if</span> (!Module)</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="comment">// Verify that the rest of the module path actually corresponds to</span></div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment">// a submodule.</span></div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordflow">if</span> (Path.size() > 1) {</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 1, N = Path.size(); I != N; ++I) {</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> StringRef Name = Path[I].first->getName();</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">clang::Module</a> *Sub = Module-><a class="code" href="classclang_1_1Module.html#a8ee2001b1277a38d236ab433aed277f2" title="Find the submodule with the given name.">findSubmodule</a>(Name);</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> </div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="keywordflow">if</span> (!Sub) {</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment">// Attempt to perform typo correction to find a module name that works.</span></div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<StringRef, 2></a> Best;</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordtype">unsigned</span> <a class="code" href="CommentSema_8cpp.html#ac9b35cfcc6698eb2b8e3244d74e6d10d">BestEditDistance</a> = (std::numeric_limits<unsigned>::max)();</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> </div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1Module.html#aade7ef252a186121e056cf35f6d56fb5">clang::Module::submodule_iterator</a> J = Module-><a class="code" href="classclang_1_1Module.html#a9c95e62394e8873c8825a8c3993923d1">submodule_begin</a>(), </div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> JEnd = Module-><a class="code" href="classclang_1_1Module.html#aefeb9dd237268b0c0f9ef0a2fb24dcf9">submodule_end</a>();</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> J != JEnd; ++J) {</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordtype">unsigned</span> ED = Name.edit_distance((*J)->Name,</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment">/*AllowReplacements=*/</span><span class="keyword">true</span>,</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> BestEditDistance);</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="keywordflow">if</span> (ED <= BestEditDistance) {</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="keywordflow">if</span> (ED < BestEditDistance) {</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> Best.clear();</div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> BestEditDistance = ED;</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> }</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> Best.push_back((*J)->Name);</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> }</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> </div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="comment">// If there was a clear winner, user it.</span></div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">if</span> (Best.size() == 1) {</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(Path[I].second, </div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> diag::err_no_submodule_suggest)</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> << Path[I].first << Module-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>() << Best[0]</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Path[0].second, Path[I-1].second)</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> << <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">FixItHint::CreateReplacement</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Path[I].second),</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> Best[0]);</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> Sub = Module-><a class="code" href="classclang_1_1Module.html#a8ee2001b1277a38d236ab433aed277f2" title="Find the submodule with the given name.">findSubmodule</a>(Best[0]);</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> }</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> </div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <span class="keywordflow">if</span> (!Sub) {</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="comment">// No submodule by this name. Complain, and don't look for further</span></div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="comment">// submodules.</span></div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(Path[I].second, diag::err_no_submodule)</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> << Path[I].first << Module-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>()</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Path[0].second, Path[I-1].second);</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> }</div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> </div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> Module = Sub;</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> }</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> }</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> </div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="comment">// Make the named module visible, if it's not already part of the module</span></div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="comment">// we are parsing.</span></div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="keywordflow">if</span> (ModuleName != <a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>().CurrentModule) {</div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">if</span> (!Module-><a class="code" href="classclang_1_1Module.html#ab947fac64520fa50e1b64c6672724b80" title="Whether this module was loaded from a module file.">IsFromModuleFile</a>) {</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="comment">// We have an umbrella header or directory that doesn't actually include</span></div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="comment">// all of the headers within the directory it covers. Complain about</span></div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="comment">// this missing submodule and recover by forgetting that we ever saw</span></div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="comment">// this submodule.</span></div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="comment">// FIXME: Should we detect this at module load time? It seems fairly</span></div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="comment">// expensive (and rare).</span></div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(ImportLoc, diag::warn_missing_submodule)</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> << Module-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>()</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Path.front().second, Path.back().second);</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>(0, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> }</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> </div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="comment">// Check whether this module is available.</span></div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <a class="code" href="classclang_1_1Module.html#af5d00f77d1d24ec6cd92bdddea038fce" title="An individual requirement: a feature name and a flag indicating the required state of that feature...">clang::Module::Requirement</a> Requirement;</div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="keywordflow">if</span> (!Module-><a class="code" href="classclang_1_1Module.html#a5be57132fedcd0fea5b93e5a6c311e98" title="Determine whether this module is available for use within the current translation unit...">isAvailable</a>(<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), <a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>(), Requirement)) {</div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(ImportLoc, diag::err_module_unavailable)</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> << Module-><a class="code" href="classclang_1_1Module.html#a3d720c72f2fe28832745046e83b8607a" title="Retrieve the full name of this module, including the path from its top-level module.">getFullModuleName</a>()</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> << Requirement.second << Requirement.first</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Path.front().second, Path.back().second);</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> LastModuleImportLoc = ImportLoc;</div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> LastModuleImportResult = <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>();</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> }</div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> </div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#a5e5f186729969db7cbc81d30c7d4fd71" title="Make the entities in the given module and any of its (non-explicit) submodules visible to name lookup...">makeModuleVisible</a>(Module, Visibility, ImportLoc,</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="comment">/*Complain=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> }</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> </div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="comment">// Check for any configuration macros that have changed.</span></div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">clang::Module</a> *TopModule = Module-><a class="code" href="classclang_1_1Module.html#ab9ac0815c7df4b9466e2a7212fd2d300" title="Retrieve the top-level module for this (sub)module, which may be this module.">getTopLevelModule</a>();</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = TopModule-><a class="code" href="classclang_1_1Module.html#a162d6fa484ed34109093c8264dd116d3" title="The set of "configuration macros", which are macros that (intentionally) change how this module is bu...">ConfigMacros</a>.size(); I != N; ++I) {</div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <a class="code" href="CompilerInstance_8cpp.html#a95f09282d8e18a56d2dd3561ac21d6da" title="Diagnose differences between the current definition of the given configuration macro and the definiti...">checkConfigMacro</a>(<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), TopModule-><a class="code" href="classclang_1_1Module.html#a162d6fa484ed34109093c8264dd116d3" title="The set of "configuration macros", which are macros that (intentionally) change how this module is bu...">ConfigMacros</a>[I],</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> Module, ImportLoc);</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> }</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> </div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="comment">// If this module import was due to an inclusion directive, create an </span></div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="comment">// implicit import declaration to capture it in the AST.</span></div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="keywordflow">if</span> (IsInclusionDirective && <a class="code" href="classclang_1_1CompilerInstance.html#a7766c4bd37874a2db70062863aafcc01">hasASTContext</a>()) {</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> <a class="code" href="classclang_1_1TranslationUnitDecl.html" title="TranslationUnitDecl - The top declaration context.">TranslationUnitDecl</a> *TU = <a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>().<a class="code" href="classclang_1_1ASTContext.html#abd909fb01ef10cfd0244832a67b1dd64">getTranslationUnitDecl</a>();</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <a class="code" href="classclang_1_1ImportDecl.html" title="Describes a module import declaration, which makes the contents of the named module visible in the cu...">ImportDecl</a> *ImportD = <a class="code" href="classclang_1_1ImportDecl.html#ae8ccc5ff357b49918708e8d84ea1cba8" title="Create a new module import declaration for an implicitly-generated import.">ImportDecl::CreateImplicit</a>(<a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>(), TU,</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> ImportLoc, Module,</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> Path.back().second);</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> TU-><a class="code" href="classclang_1_1DeclContext.html#a86d2d92d17fbed1a41461bef1ec5cef8" title="Add the declaration D into this context.">addDecl</a>(ImportD);</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="keywordflow">if</span> (Consumer)</div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> Consumer->HandleImplicitImportDecl(ImportD);</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> }</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> </div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> LastModuleImportLoc = ImportLoc;</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> LastModuleImportResult = <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a>(Module, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> <span class="keywordflow">return</span> LastModuleImportResult;</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> }</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> </div>
+<div class="line"><a name="l01401"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#af8598461c051d1f8328695b7d42ce270"> 1401</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#af8598461c051d1f8328695b7d42ce270" title="Make the given module visible.">CompilerInstance::makeModuleVisible</a>(<a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">Module</a> *Mod,</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <a class="code" href="classclang_1_1Module.html#a1ca9cf81299c2f40c68d04f44eea8a67" title="Describes the visibility of the various names within a particular module.">Module::NameVisibilityKind</a> <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>,</div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</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> ImportLoc,</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="keywordtype">bool</span> Complain){</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> ModuleManager-><a class="code" href="classclang_1_1ASTReader.html#a5e5f186729969db7cbc81d30c7d4fd71" title="Make the entities in the given module and any of its (non-explicit) submodules visible to name lookup...">makeModuleVisible</a>(Mod, Visibility, ImportLoc, Complain);</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> }</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> </div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,763 @@
+<!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: CompilerInstance.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">CompilerInstance.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilerInstance_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/CompilerInstance.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/CompilerInstance.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> CompilerInstance.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInstance.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/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.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/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInvocation.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/<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="l00054"></a><span class="lineno"> 54</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="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/DependencyOutputOptions.h \</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/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</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="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandard.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandards.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/MigratorOptions.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/PreprocessorOutputOptions.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</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="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</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="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</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="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTConsumer.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</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="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.inc \</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/ChainedDiagnosticConsumer.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendActions.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendDiagnostic.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticFrontendKinds.inc \</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LogDiagnosticPrinter.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/SerializedDiagnosticPrinter.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> /home/tstellar/llvm/include/llvm/Bitcode/BitstreamWriter.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/TextDiagnosticPrinter.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/VerifyDiagnosticConsumer.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</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="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</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="l00151"></a><span class="lineno"> 151</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="l00152"></a><span class="lineno"> 152</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="l00153"></a><span class="lineno"> 153</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</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="l00155"></a><span class="lineno"> 155</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="l00156"></a><span class="lineno"> 156</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="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</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="l00159"></a><span class="lineno"> 159</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="l00160"></a><span class="lineno"> 160</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="l00161"></a><span class="lineno"> 161</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="l00162"></a><span class="lineno"> 162</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="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/CodeCompleteConsumer.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang-c/Index.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang-c/Platform.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang-c/<a class="code" href="structCXString.html" title="A character string.">CXString</a>.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</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="l00181"></a><span class="lineno"> 181</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTReader.h \</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</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="l00210"></a><span class="lineno"> 210</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="l00211"></a><span class="lineno"> 211</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTBitCodes.h \</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ContinuousRangeMap.h \</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/Module.h \</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> /home/tstellar/llvm/include/llvm/Bitcode/BitstreamReader.h \</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> /home/tstellar/llvm/include/llvm/Support/Endian.h \</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> /home/tstellar/llvm/include/llvm/Support/Host.h \</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> /home/tstellar/llvm/include/llvm/Support/StreamableMemoryObject.h \</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> /home/tstellar/llvm/include/llvm/Support/DataStream.h \</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> /home/tstellar/llvm/include/llvm/Support/MemoryObject.h \</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ModuleManager.h \</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> /home/tstellar/llvm/include/llvm/ADT/Statistic.h \</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> /home/tstellar/llvm/include/llvm/Support/Valgrind.h \</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> /home/tstellar/llvm/include/llvm/Config/config.h \</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> /home/tstellar/llvm/include/llvm/Support/CrashRecoveryContext.h \</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> /home/tstellar/llvm/include/llvm/Support/LockFileManager.h \</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> /home/tstellar/llvm/include/llvm/Support/Program.h \</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> /home/tstellar/llvm/include/llvm/Support/Signals.h \</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> /home/tstellar/llvm/include/llvm/Support/Timer.h</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInstance.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInvocation.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> /home/tstellar/llvm/tools/clang/lib/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="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> /home/tstellar/llvm/tools/clang/lib/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="l00333"></a><span class="lineno"> 333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/DependencyOutputOptions.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendOptions.h:</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> /home/tstellar/llvm/tools/clang/lib/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="l00357"></a><span class="lineno"> 357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandard.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandards.def:</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/MigratorOptions.h:</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/PreprocessorOutputOptions.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def:</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h:</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTConsumer.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> /home/tstellar/llvm/tools/clang/lib/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="l00449"></a><span class="lineno"> 449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetInfo.h:</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetCXXABI.h:</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.h:</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.inc:</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/ChainedDiagnosticConsumer.h:</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendActions.h:</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendDiagnostic.h:</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticFrontendKinds.inc:</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LogDiagnosticPrinter.h:</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/SerializedDiagnosticPrinter.h:</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> /home/tstellar/llvm/include/llvm/Bitcode/BitstreamWriter.h:</div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h:</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/TextDiagnosticPrinter.h:</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h:</div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
+<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/VerifyDiagnosticConsumer.h:</div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> /home/tstellar/llvm/tools/clang/lib/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="l00529"></a><span class="lineno"> 529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h:</div>
+<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
+<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h:</div>
+<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
+<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h:</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h:</div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearch.h:</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/CodeCompleteConsumer.h:</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang-c/Index.h:</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
+<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang-c/Platform.h:</div>
+<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang-c/<a class="code" href="structCXString.html" title="A character string.">CXString</a>.h:</div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Sema.h:</div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
+<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
+<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> /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="l00585"></a><span class="lineno"> 585</span> </div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/MangleNumberingContext.h:</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/NSAPI.h:</div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ExpressionTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenMPKinds.h:</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AnalysisBasedWarnings.h:</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/DeclSpec.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Lambda.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AttributeList.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Ownership.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/AttrParsedAttrList.inc:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ExternalSemaSource.h:</div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/TypoCorrection.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ASTUnresolvedSet.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/UnresolvedSet.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/Weak.h:</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> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/IdentifierResolver.h:</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/LocInfoType.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ObjCMethodList.h:</div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/ScopeInfo.h:</div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h:</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> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h:</div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h:</div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTReader.h:</div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> /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="l00643"></a><span class="lineno"> 643</span> </div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</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="l00645"></a><span class="lineno"> 645</span> </div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ASTBitCodes.h:</div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ContinuousRangeMap.h:</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> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/Module.h:</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> /home/tstellar/llvm/include/llvm/Bitcode/BitstreamReader.h:</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> /home/tstellar/llvm/include/llvm/Support/Endian.h:</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> /home/tstellar/llvm/include/llvm/Support/Host.h:</div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> /home/tstellar/llvm/include/llvm/Support/StreamableMemoryObject.h:</div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> /home/tstellar/llvm/include/llvm/Support/DataStream.h:</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> /home/tstellar/llvm/include/llvm/Support/MemoryObject.h:</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Serialization/ModuleManager.h:</div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> /home/tstellar/llvm/include/llvm/ADT/Statistic.h:</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> /home/tstellar/llvm/include/llvm/Support/Atomic.h:</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> /home/tstellar/llvm/include/llvm/Support/Valgrind.h:</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> /home/tstellar/llvm/include/llvm/Config/config.h:</div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> /home/tstellar/llvm/include/llvm/Support/CrashRecoveryContext.h:</div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> /home/tstellar/llvm/include/llvm/Support/LockFileManager.h:</div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</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> /home/tstellar/llvm/include/llvm/Support/Program.h:</div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> /home/tstellar/llvm/include/llvm/Support/Signals.h:</div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> /home/tstellar/llvm/include/llvm/Support/Timer.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CompilerInstance_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,754 @@
+<!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: CompilerInstance.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_86a50fedfdd177331e407e41b0c0394f.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CompilerInstance.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CompilerInstance_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">//===-- CompilerInstance.h - Clang Compiler Instance ------------*- 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_FRONTEND_COMPILERINSTANCE_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_FRONTEND_COMPILERINSTANCE_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="Diagnostic_8h.html" title="Defines the Diagnostic-related interfaces.">clang/Basic/Diagnostic.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</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="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="CompilerInvocation_8h.html">clang/Frontend/CompilerInvocation.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="ModuleLoader_8h.html">clang/Lex/ModuleLoader.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "llvm/ADT/IntrusiveRefCntPtr.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "llvm/ADT/StringRef.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <cassert></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <list></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <utility></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>llvm {</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">class </span>raw_fd_ostream;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span>Timer;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> }</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">class </span>ASTContext;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">class </span>ASTConsumer;</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">class </span>ASTReader;</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">class </span>CodeCompleteConsumer;</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">class </span>DiagnosticsEngine;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">class </span>DiagnosticConsumer;</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">class </span>ExternalASTSource;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>FileEntry;</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">class </span>FileManager;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">class </span>FrontendAction;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>Module;</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">class </span>Preprocessor;</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">class </span>Sema;</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">class </span>SourceManager;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">class </span>TargetInfo;</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/// CompilerInstance - Helper class for managing a single instance of the Clang</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/// compiler.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/// The CompilerInstance serves two purposes:</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/// (1) It manages the various objects which are necessary to run the compiler,</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/// for example the preprocessor, the target information, and the AST</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/// context.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/// (2) It provides utility routines for constructing and manipulating the</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/// common Clang objects.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/// The compiler instance generally owns the instance of all the objects that it</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/// manages. However, clients can still share objects by manually setting the</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/// object and retaking ownership prior to destroying the CompilerInstance.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/// The compiler instance is intended to simplify clients, but not to lock them</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/// in to the compiler instance for everything. When possible, utility functions</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/// come in two forms; a short form that reuses the CompilerInstance objects,</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/// and a long form that takes explicit instances of any required objects.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html"> 67</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ModuleLoader.html" title="Abstract interface for a module loader.">ModuleLoader</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> /// The options used in this compiler instance.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<CompilerInvocation></a> Invocation;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> /// The diagnostics engine instance.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticsEngine></a> Diagnostics;</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"> /// The target being compiled for.</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<TargetInfo></a> Target;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> /// The file manager.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<FileManager></a> FileMgr;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"></span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> /// The source manager.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<SourceManager></a> SourceMgr;</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"> /// The preprocessor.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<Preprocessor></a> PP;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"></span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> /// The AST context.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<ASTContext></a> Context;</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"></span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> /// The AST consumer.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<ASTConsumer></a> Consumer;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> /// The code completion consumer.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<CodeCompleteConsumer></a> CompletionConsumer;</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"></span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> /// \brief The semantic analysis object.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<Sema></a> TheSema;</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"></span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> /// \brief The frontend timer</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::Timer></a> FrontendTimer;</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> /// \brief Non-owning reference to the ASTReader, if one exists.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"></span> <a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a> *ModuleManager;</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// \brief The set of top-level modules that has already been loaded,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> /// along with the module map</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span> llvm::DenseMap<const IdentifierInfo *, Module *> KnownModules;</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"></span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// \brief The location of the module-import keyword for the last module</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// import. </span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</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> LastModuleImportLoc;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"></span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> /// \brief The result of the last module import.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a> LastModuleImportResult;</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// \brief Whether we should (re)build the global module index once we</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> /// have finished with this translation unit.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span> <span class="keywordtype">bool</span> BuildGlobalModuleIndex;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> /// \brief One or more modules failed to build.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"></span> <span class="keywordtype">bool</span> ModuleBuildFailed;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> /// \brief Holds information about the output file.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> /// If TempFilename is not empty we must rename it to Filename at the end.</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> /// TempFilename may be empty and Filename non empty if creating the temporary</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> /// failed.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"></span> <span class="keyword">struct </span>OutputFile {</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> std::string Filename;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> std::string TempFilename;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> raw_ostream *OS;</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> OutputFile(<span class="keyword">const</span> std::string &filename, <span class="keyword">const</span> std::string &tempFilename,</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> raw_ostream *os)</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> : Filename(filename), TempFilename(tempFilename), OS(os) { }</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> };</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"></span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> /// The list of active output files.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"></span> std::list<OutputFile> OutputFiles;</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> <a class="code" href="classclang_1_1CompilerInstance.html#a70ad0173059b3e4dad3477c2ee1160b5">CompilerInstance</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &) LLVM_DELETED_FUNCTION;</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"> 144</span> <a class="code" href="classclang_1_1CompilerInstance.html#a70ad0173059b3e4dad3477c2ee1160b5">CompilerInstance</a>();</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="classclang_1_1CompilerInstance.html#a6be158897bdf51cf00f5ebfc377321bf">~CompilerInstance</a>();</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> /// @name High-Level Operations</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> /// ExecuteAction - Execute the provided action against the compiler's</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> /// CompilerInvocation object.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> /// This function makes the following assumptions:</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> /// - The invocation options should be initialized. This function does not</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> /// handle the '-help' or '-version' options, clients should handle those</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> /// directly.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> /// - The diagnostics engine should have already been created by the client.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> /// - No other CompilerInstance state should have been initialized (this is</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> /// an unchecked error).</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> /// - Clients should have initialized any LLVM target features that may be</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> /// required.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> /// - Clients should eventually call llvm_shutdown() upon the completion of</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> /// this routine to ensure that any managed objects are properly destroyed.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> /// Note that this routine may write output to 'stderr'.</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> /// \param Act - The action to execute.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> /// \return - True on success.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"></span> <span class="comment">//</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// FIXME: This function should take the stream to write any debugging /</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// verbose output to as an argument.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// FIXME: Eliminate the llvm_shutdown requirement, that should either be part</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">// of the context or else not CompilerInstance specific.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#acab2d9d69ec889a7034634036720ffc5">ExecuteAction</a>(<a class="code" href="classclang_1_1FrontendAction.html" title="Abstract base class for actions which can be performed by the frontend.">FrontendAction</a> &Act);</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> /// @name Compiler Invocation and Options</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"></span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a61f8db97349e6fc59d9404f09cca9aa5"> 186</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a61f8db97349e6fc59d9404f09cca9aa5">hasInvocation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Invocation != 0; }</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a171249f941c6c546049f4b6107c84d6e"> 188</a></span> <a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a171249f941c6c546049f4b6107c84d6e">getInvocation</a>() {</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> assert(Invocation && <span class="stringliteral">"Compiler instance has no invocation!"</span>);</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> *Invocation;</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"></span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> /// setInvocation - Replace the current invocation.</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a68360c9e4e5ed0347161e082e609c6c9" title="setInvocation - Replace the current invocation.">setInvocation</a>(<a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> /// \brief Indicates whether we should (re)build the global module index.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#aff3d247948dddc7e1e1c0938436904b1" title="Indicates whether we should (re)build the global module index.">shouldBuildGlobalModuleIndex</a>() <span class="keyword">const</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 Set the flag indicating whether we should (re)build the global</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> /// module index.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a4d277e6deb84bb95eb3bbe70be2adb2d"> 201</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a4d277e6deb84bb95eb3bbe70be2adb2d" title="Set the flag indicating whether we should (re)build the global module index.">setBuildGlobalModuleIndex</a>(<span class="keywordtype">bool</span> Build) {</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> BuildGlobalModuleIndex = Build;</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"> /// }</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> /// @name Forwarding Methods</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"></span></div>
+<div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ab6658fe8f6f137981576d80163e178d6"> 209</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">AnalyzerOptionsRef</a> <a class="code" href="classclang_1_1CompilerInstance.html#ab6658fe8f6f137981576d80163e178d6">getAnalyzerOpts</a>() {</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> Invocation->getAnalyzerOpts();</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a06174bfe2d28784f7b092e9b74bc3583"> 213</a></span> <a class="code" href="classclang_1_1CodeGenOptions.html">CodeGenOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a06174bfe2d28784f7b092e9b74bc3583">getCodeGenOpts</a>() {</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> Invocation->getCodeGenOpts();</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a53734a9590b2037920474bb1196745b2"> 216</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGenOptions.html">CodeGenOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a53734a9590b2037920474bb1196745b2">getCodeGenOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> Invocation->getCodeGenOpts();</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a4b696fa1eebedae2380fb763740ef4f7"> 220</a></span> <a class="code" href="classclang_1_1DependencyOutputOptions.html">DependencyOutputOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a4b696fa1eebedae2380fb763740ef4f7">getDependencyOutputOpts</a>() {</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> Invocation->getDependencyOutputOpts();</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a5bb79976b3ba253fd6b32c351aa7e856"> 223</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DependencyOutputOptions.html">DependencyOutputOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a5bb79976b3ba253fd6b32c351aa7e856">getDependencyOutputOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">return</span> Invocation->getDependencyOutputOpts();</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> </div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b"> 227</a></span> <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>() {</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">return</span> Invocation->getDiagnosticOpts();</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ab5a663a37cef039393b6ad291d2c8d8d"> 230</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#ab5a663a37cef039393b6ad291d2c8d8d">getDiagnosticOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> Invocation->getDiagnosticOpts();</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a16328bd5d143b93c65bc1b5790fc0c11"> 234</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1FileSystemOptions.html" title="Keeps track of options that affect how file operations are performed.">FileSystemOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a16328bd5d143b93c65bc1b5790fc0c11">getFileSystemOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> Invocation->getFileSystemOpts();</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> </div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd"> 238</a></span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>() {</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">return</span> Invocation->getFrontendOpts();</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a9e70daf16a6cc52b84f335df0208f609"> 241</a></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> &<a class="code" href="classclang_1_1CompilerInstance.html#a9e70daf16a6cc52b84f335df0208f609">getFrontendOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> Invocation->getFrontendOpts();</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e"> 245</a></span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#ab9603cd3fdb0a3f18ef1cae7e9909a3e">getHeaderSearchOpts</a>() {</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> Invocation->getHeaderSearchOpts();</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#acb43a270bf0b7637a2f2de0b44f900c1"> 248</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1HeaderSearchOptions.html">HeaderSearchOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#acb43a270bf0b7637a2f2de0b44f900c1">getHeaderSearchOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">return</span> Invocation->getHeaderSearchOpts();</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"><a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb"> 252</a></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> &<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>() {</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">return</span> *Invocation->getLangOpts();</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a596faa73d261465a5f2c2320e6369a1c"> 255</a></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> &<a class="code" href="classclang_1_1CompilerInstance.html#a596faa73d261465a5f2c2320e6369a1c">getLangOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">return</span> *Invocation->getLangOpts();</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24"> 259</a></span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>() {</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span> Invocation->getPreprocessorOpts();</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a05fa76859a76919bbfc8013226363914"> 262</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a05fa76859a76919bbfc8013226363914">getPreprocessorOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> Invocation->getPreprocessorOpts();</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> </div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ad37f8efd6888104972ff208ecb31b03d"> 266</a></span> <a class="code" href="classclang_1_1PreprocessorOutputOptions.html">PreprocessorOutputOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#ad37f8efd6888104972ff208ecb31b03d">getPreprocessorOutputOpts</a>() {</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> Invocation->getPreprocessorOutputOpts();</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
+<div class="line"><a name="l00269"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ae45eae03162a0630ddf5f9fd3c276487"> 269</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1PreprocessorOutputOptions.html">PreprocessorOutputOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#ae45eae03162a0630ddf5f9fd3c276487">getPreprocessorOutputOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">return</span> Invocation->getPreprocessorOutputOpts();</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#aa8bf84411ac47e5ae0efe3f3269018bd"> 273</a></span> <a class="code" href="classclang_1_1TargetOptions.html" title="Options for controlling the target.">TargetOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#aa8bf84411ac47e5ae0efe3f3269018bd">getTargetOpts</a>() {</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">return</span> Invocation->getTargetOpts();</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#aace9c16991420370ab735e44d154efe2"> 276</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetOptions.html" title="Options for controlling the target.">TargetOptions</a> &<a class="code" href="classclang_1_1CompilerInstance.html#aace9c16991420370ab735e44d154efe2">getTargetOpts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> Invocation->getTargetOpts();</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> <span class="comment"></span></div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> /// @name Diagnostics Engine</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"></span></div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#adb6cdb7b32ff59fc9db6480205fd3bd0"> 284</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#adb6cdb7b32ff59fc9db6480205fd3bd0">hasDiagnostics</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Diagnostics != 0; }</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"></span></div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> /// Get the current diagnostics engine.</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e"> 287</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> assert(Diagnostics && <span class="stringliteral">"Compiler instance has no diagnostics!"</span>);</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">return</span> *Diagnostics;</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"> /// setDiagnostics - Replace the current diagnostics engine.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8fdc488bb99f44ae409dfdb951af6d02" title="setDiagnostics - Replace the current diagnostics engine.">setDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#abc5c9a3f1747d0c8f76c0238569b972d"> 295</a></span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> &<a class="code" href="classclang_1_1CompilerInstance.html#abc5c9a3f1747d0c8f76c0238569b972d">getDiagnosticClient</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> assert(Diagnostics && Diagnostics->getClient() && </div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="stringliteral">"Compiler instance has no diagnostic client!"</span>);</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">return</span> *Diagnostics->getClient();</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"></span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> /// @name Target Info</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"></span></div>
+<div class="line"><a name="l00305"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ad968bf11717b91b627669ec8cdf89d63"> 305</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad968bf11717b91b627669ec8cdf89d63">hasTarget</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Target != 0; }</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80"> 307</a></span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &<a class="code" href="classclang_1_1CompilerInstance.html#ab733722f416a30b1ed7550c1555dbf80">getTarget</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> assert(Target && <span class="stringliteral">"Compiler instance has no target!"</span>);</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">return</span> *Target;</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"></span></div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> /// Replace the current diagnostics engine.</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a5972a3b70aeb763793685ddf6210dfd7" title="Replace the current diagnostics engine.">setTarget</a>(<a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment"></span></div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment"> /// @name File Manager</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"></span></div>
+<div class="line"><a name="l00319"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ad0eaae9ba9e88e8540f81ad964d74fd7"> 319</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad0eaae9ba9e88e8540f81ad964d74fd7">hasFileManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FileMgr != 0; }</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"></span></div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> /// Return the current file manager to the caller.</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a96a6364c197bbfb7a9c38084234f19fe"> 322</a></span> <span class="comment"></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> &<a class="code" href="classclang_1_1CompilerInstance.html#a96a6364c197bbfb7a9c38084234f19fe" title="Return the current file manager to the caller.">getFileManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> assert(FileMgr && <span class="stringliteral">"Compiler instance has no file manager!"</span>);</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span> *FileMgr;</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> </div>
+<div class="line"><a name="l00327"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a6876363be4ef3b1c5af86e220472c209"> 327</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a6876363be4ef3b1c5af86e220472c209">resetAndLeakFileManager</a>() {</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> FileMgr.resetWithoutRelease();</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"></span></div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> /// setFileManager - Replace the current file manager.</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a00535f0955b58840431fd633f856cdc4" title="setFileManager - Replace the current file manager.">setFileManager</a>(<a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"></span></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"> /// @name Source Manager</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"></span></div>
+<div class="line"><a name="l00338"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a1760a743dfce9ca6acc4138a0cb13f14"> 338</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a1760a743dfce9ca6acc4138a0cb13f14">hasSourceManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SourceMgr != 0; }</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"></span></div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> /// Return the current source manager.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2"> 341</a></span> <span class="comment"></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="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> assert(SourceMgr && <span class="stringliteral">"Compiler instance has no source manager!"</span>);</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">return</span> *SourceMgr;</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> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a51d4802f8edbc1ea38e97f136a6fdf15"> 346</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a51d4802f8edbc1ea38e97f136a6fdf15">resetAndLeakSourceManager</a>() {</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> SourceMgr.resetWithoutRelease();</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> <span class="comment"></span></div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> /// setSourceManager - Replace the current source manager.</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a08d4c3c5277d0a97f2ae6e87ea7f6d68" title="setSourceManager - Replace the current source manager.">setSourceManager</a>(<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="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"></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"> /// @name Preprocessor</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> /// {</span></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"><a class="code" href="classclang_1_1CompilerInstance.html#a8569e694aa4d1714a73c2d71bcbf8001"> 357</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8569e694aa4d1714a73c2d71bcbf8001">hasPreprocessor</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> PP != 0; }</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"></span></div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> /// Return the current preprocessor.</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a"> 360</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> assert(PP && <span class="stringliteral">"Compiler instance has no preprocessor!"</span>);</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">return</span> *PP;</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> </div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#ab186b42bb3fb418f333785ba01587adf"> 365</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ab186b42bb3fb418f333785ba01587adf">resetAndLeakPreprocessor</a>() {</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> PP.resetWithoutRelease();</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> <span class="comment"></span></div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> /// Replace the current preprocessor.</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a7b58b810af494368c8b1daf7fd23ca28" title="Replace the current preprocessor.">setPreprocessor</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</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"> /// }</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> /// @name ASTContext</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"></span></div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a7766c4bd37874a2db70062863aafcc01"> 376</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a7766c4bd37874a2db70062863aafcc01">hasASTContext</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Context != 0; }</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56"> 378</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_1CompilerInstance.html#a48b17496817d8a900aaebf55ed16fd56">getASTContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> assert(Context && <span class="stringliteral">"Compiler instance has no AST context!"</span>);</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">return</span> *Context;</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"><a class="code" href="classclang_1_1CompilerInstance.html#a946bba92dfb38dd3724310f46af8b35e"> 383</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a946bba92dfb38dd3724310f46af8b35e">resetAndLeakASTContext</a>() {</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> Context.resetWithoutRelease();</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment"></span></div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment"> /// setASTContext - Replace the current AST context.</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a6a7a65f2595b1e2902b691bbf733a60d" title="setASTContext - Replace the current AST context.">setASTContext</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="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"></span></div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> /// \brief Replace the current Sema; the compiler instance takes ownership</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> /// of S.</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a893e113ec2e48d9f4640f9276f969ae7" title="Replace the current Sema; the compiler instance takes ownership of S.">setSema</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="l00393"></a><span class="lineno"> 393</span> <span class="comment"></span></div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment"> /// @name ASTConsumer</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment"> /// {</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"><a class="code" href="classclang_1_1CompilerInstance.html#a6f84def29e662b0f1fc19dc343a3505d"> 398</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a6f84def29e662b0f1fc19dc343a3505d">hasASTConsumer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Consumer.isValid(); }</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a78c9529f4540cd51a0a4cfa3be414300"> 400</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a78c9529f4540cd51a0a4cfa3be414300">getASTConsumer</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> assert(Consumer && <span class="stringliteral">"Compiler instance has no AST consumer!"</span>);</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">return</span> *Consumer;</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment"></span></div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment"> /// takeASTConsumer - Remove the current AST consumer and give ownership to</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment"> /// the caller.</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#acca0f427ae072a2ab443e57ef26b6a2c"> 407</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1CompilerInstance.html#acca0f427ae072a2ab443e57ef26b6a2c">takeASTConsumer</a>() { <span class="keywordflow">return</span> Consumer.take(); }</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment"></span></div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> /// setASTConsumer - Replace the current AST consumer; the compiler instance</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> /// takes ownership of \p Value.</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a50c6e094c9e80453ae9c2b2bb863e89a">setASTConsumer</a>(<a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"></span></div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> /// @name Semantic analysis</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a2697f71e97b2b862c0f0d95f412a52bc"> 416</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a2697f71e97b2b862c0f0d95f412a52bc">hasSema</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TheSema.isValid(); }</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a0ae6e29859e1e1926c01a8201f6a00ee"> 418</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_1CompilerInstance.html#a0ae6e29859e1e1926c01a8201f6a00ee">getSema</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> assert(TheSema && <span class="stringliteral">"Compiler instance has no Sema object!"</span>);</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">return</span> *TheSema;</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> </div>
+<div class="line"><a name="l00423"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a55df5f7516bec23cb8467e664cd49da6"> 423</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_1CompilerInstance.html#a55df5f7516bec23cb8467e664cd49da6">takeSema</a>() { <span class="keywordflow">return</span> TheSema.take(); }</div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment"></span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment"> /// @name Module Management</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment"> /// {</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"><a class="code" href="classclang_1_1CompilerInstance.html#a7c975f2285d258dff4181213ed30d8e5"> 429</a></span> <a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a> *<a class="code" href="classclang_1_1CompilerInstance.html#a7c975f2285d258dff4181213ed30d8e5">getModuleManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ModuleManager; }</div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a5beb8087640f3d25ef67608eaa995809"> 430</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a5beb8087640f3d25ef67608eaa995809">setModuleManager</a>(<a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a> *Reader) { ModuleManager = Reader; }</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment"></span></div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> /// @name Code Completion</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"></span></div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a59556e32fbbc5f2c9f7c94839c1223e5"> 436</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a59556e32fbbc5f2c9f7c94839c1223e5">hasCodeCompletionConsumer</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">return</span> CompletionConsumer.isValid();</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> </div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a4946b7db644d56e4d1b43f2f4538ac8f"> 440</a></span> <a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> &<a class="code" href="classclang_1_1CompilerInstance.html#a4946b7db644d56e4d1b43f2f4538ac8f">getCodeCompletionConsumer</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> assert(CompletionConsumer &&</div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="stringliteral">"Compiler instance has no code completion consumer!"</span>);</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">return</span> *CompletionConsumer;</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="comment"></span></div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> /// takeCodeCompletionConsumer - Remove the current code completion consumer</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> /// and give ownership to the caller.</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a7d677a1ec79afc8a3c018a2c644b00f9"> 448</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *<a class="code" href="classclang_1_1CompilerInstance.html#a7d677a1ec79afc8a3c018a2c644b00f9">takeCodeCompletionConsumer</a>() {</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">return</span> CompletionConsumer.take();</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="comment"></span></div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> /// setCodeCompletionConsumer - Replace the current code completion consumer;</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"> /// the compiler instance takes ownership of \p Value.</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#aca5e4132b77ea34c3c7dbf2ec487ddeb">setCodeCompletionConsumer</a>(<a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"></span></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"> /// @name Frontend timer</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> /// {</span></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"><a class="code" href="classclang_1_1CompilerInstance.html#a732dd3ca4f95f9c7527610765c825def"> 460</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a732dd3ca4f95f9c7527610765c825def">hasFrontendTimer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FrontendTimer.isValid(); }</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a43d70c7399862dbbeb6ba957118e9f4e"> 462</a></span> llvm::Timer &<a class="code" href="classclang_1_1CompilerInstance.html#a43d70c7399862dbbeb6ba957118e9f4e">getFrontendTimer</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> assert(FrontendTimer && <span class="stringliteral">"Compiler instance has no frontend timer!"</span>);</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">return</span> *FrontendTimer;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment"> /// @name Output Files</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment"> /// addOutputFile - Add an output file onto the list of tracked output files.</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> /// \param OutFile - The output file info.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad4e717b11a063450e48140d1a893f221">addOutputFile</a>(<span class="keyword">const</span> OutputFile &OutFile);</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"></span></div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> /// clearOutputFiles - Clear the output file list, destroying the contained</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> /// output streams.</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> /// \param EraseFiles - If true, attempt to erase the files from disk.</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ad0d4578fb5e22cfe0f831024b88dc48c">clearOutputFiles</a>(<span class="keywordtype">bool</span> EraseFiles);</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"></span></div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> /// @name Construction Utility Methods</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> /// Create the diagnostics engine using the invocation's diagnostic options</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> /// and replace any existing one with it.</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> /// Note that this routine also replaces the diagnostic client,</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> /// allocating one if one is not provided.</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> /// \param Client If non-NULL, a diagnostic client that will be</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> /// attached to (and, then, owned by) the DiagnosticsEngine inside this AST</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> /// unit.</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment"> /// \param ShouldOwnClient If Client is non-NULL, specifies whether </span></div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment"> /// the diagnostic object should take ownership of the client.</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3">createDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *Client = 0,</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">bool</span> ShouldOwnClient = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment"></span></div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment"> /// Create a DiagnosticsEngine object with a the TextDiagnosticPrinter.</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> /// If no diagnostic client is provided, this creates a</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> /// DiagnosticConsumer that is owned by the returned diagnostic</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> /// object, if using directly the caller is responsible for</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment"> /// releasing the returned DiagnosticsEngine's client eventually.</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> /// \param Opts - The diagnostic options; note that the created text</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> /// diagnostic object contains a reference to these options.</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment"> /// \param Client If non-NULL, a diagnostic client that will be</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment"> /// attached to (and, then, owned by) the returned DiagnosticsEngine</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment"> /// object.</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment"> /// \param CodeGenOpts If non-NULL, the code gen options in use, which may be</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="comment"> /// used by some diagnostics printers (for logging purposes only).</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment"> /// \return The new object on success, or null on failure.</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticsEngine></a></div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3">createDiagnostics</a>(<a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *Opts,</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *Client = 0,</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordtype">bool</span> ShouldOwnClient = <span class="keyword">true</span>,</div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGenOptions.html">CodeGenOptions</a> *CodeGenOpts = 0);</div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment"></span></div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="comment"> /// Create the file manager and replace any existing one with it.</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47b768cd640f10d3e04611116c033e00" title="Create the file manager and replace any existing one with it.">createFileManager</a>();</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="comment"></span></div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment"> /// Create the source manager and replace any existing one with it.</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a15caea4e8b2072a112e86bc02570683b" title="Create the source manager and replace any existing one with it.">createSourceManager</a>(<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="l00530"></a><span class="lineno"> 530</span> <span class="comment"></span></div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment"> /// Create the preprocessor, using the invocation, file, and source managers,</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="comment"> /// and replace any existing one with it.</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#aaf00e96c0d4a3b3c7301bbf08e35e37d">createPreprocessor</a>();</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"> /// Create the AST context.</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a609e1bbc05d1fc2ca7a8d5d3146b5dd1" title="Create the AST context.">createASTContext</a>();</div>
+<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment"></span></div>
+<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment"> /// Create an external AST source to read a PCH file and attach it to the AST</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment"> /// context.</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8345dcc7025740f618f0d55f5fa99282">createPCHExternalASTSource</a>(StringRef Path,</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordtype">bool</span> DisablePCHValidation,</div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">bool</span> AllowPCHWithCompilerErrors,</div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">void</span> *DeserializationListener);</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"> /// Create an external AST source to read a PCH file.</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment"> /// \return - The new object on success, or null on failure.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1ExternalASTSource.html" title="Abstract interface for external sources of AST nodes.">ExternalASTSource</a> *</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8345dcc7025740f618f0d55f5fa99282">createPCHExternalASTSource</a>(StringRef Path, <span class="keyword">const</span> std::string &Sysroot,</div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordtype">bool</span> DisablePCHValidation,</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordtype">bool</span> AllowPCHWithCompilerErrors,</div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP, <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Context,</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordtype">void</span> *DeserializationListener, <span class="keywordtype">bool</span> Preamble,</div>
+<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">bool</span> UseGlobalModuleIndex);</div>
+<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment"></span></div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="comment"> /// Create a code completion consumer using the invocation; note that this</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment"> /// will cause the source manager to truncate the input source file at the</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment"> /// completion point.</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac904ee99857a16e4770b4dc130aaa859">createCodeCompletionConsumer</a>();</div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"></span></div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> /// Create a code completion consumer to print code completion results, at</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"> /// \p Filename, \p Line, and \p Column, to the given output stream \p OS.</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="comment"></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *</div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <a class="code" href="classclang_1_1CompilerInstance.html#ac904ee99857a16e4770b4dc130aaa859">createCodeCompletionConsumer</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP, <span class="keyword">const</span> std::string &Filename,</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">unsigned</span> <a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>, <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>,</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keyword">const</span> <a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a> &Opts,</div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> raw_ostream &OS);</div>
+<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="comment"></span></div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="comment"> /// \brief Create the Sema object to be used for parsing.</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#affc162b6099312dfb93c3383ca48e014" title="Create the Sema object to be used for parsing.">createSema</a>(<a class="code" href="namespaceclang.html#aac1b714ac14290e6a552b6953c3b5f21" title="Describes the kind of translation unit being processed.">TranslationUnitKind</a> TUKind,</div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <a class="code" href="classclang_1_1CodeCompleteConsumer.html" title="Abstract interface for a consumer of code-completion information.">CodeCompleteConsumer</a> *CompletionConsumer);</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"> /// Create the frontend timer and replace any existing one with it.</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#a8de263254d773b48145b9ad36d70a50f" title="Create the frontend timer and replace any existing one with it.">createFrontendTimer</a>();</div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment"></span></div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment"> /// Create the default output file (from the invocation's options) and add it</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="comment"> /// to the list of tracked output files.</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment"> /// The files created by this function always use temporary files to write to</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment"> /// their result (that is, the data is written to a temporary file which will</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment"> /// atomically replace the target output on success).</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment"> /// \return - Null on error.</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment"></span> llvm::raw_fd_ostream *</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keywordtype">bool</span> Binary = <span class="keyword">true</span>, StringRef BaseInput = <span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> StringRef Extension = <span class="stringliteral">""</span>);</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment"></span></div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="comment"> /// Create a new output file and add it to the list of tracked output files,</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="comment"> /// optionally deriving the output path name.</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment"> /// \return - Null on error.</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment"></span> llvm::raw_fd_ostream *</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219">createOutputFile</a>(StringRef OutputPath,</div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">bool</span> Binary, <span class="keywordtype">bool</span> RemoveFileOnSignal,</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> StringRef BaseInput,</div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> StringRef Extension,</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">bool</span> UseTemporary,</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordtype">bool</span> CreateMissingDirectories = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment"></span></div>
+<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="comment"> /// Create a new output file, optionally deriving the output path name.</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="comment"> /// If \p OutputPath is empty, then createOutputFile will derive an output</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment"> /// path location as \p BaseInput, with any suffix removed, and \p Extension</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment"> /// appended. If \p OutputPath is not stdout and \p UseTemporary</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment"> /// is true, createOutputFile will create a new temporary file that must be</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment"> /// renamed to \p OutputPath in the end.</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment"> /// \param OutputPath - If given, the path to the output file.</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> /// \param Error [out] - On failure, the error message.</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment"> /// \param BaseInput - If \p OutputPath is empty, the input path name to use</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment"> /// for deriving the output path.</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment"> /// \param Extension - The extension to use for derived output names.</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment"> /// \param Binary - The mode to open the file in.</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="comment"> /// \param RemoveFileOnSignal - Whether the file should be registered with</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment"> /// llvm::sys::RemoveFileOnSignal. Note that this is not safe for</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="comment"> /// multithreaded use, as the underlying signal mechanism is not reentrant</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment"> /// \param UseTemporary - Create a new temporary file that must be renamed to</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment"> /// OutputPath in the end.</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment"> /// \param CreateMissingDirectories - When \p UseTemporary is true, create</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment"> /// missing directories in the output path.</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment"> /// \param ResultPathName [out] - If given, the result path name will be</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="comment"> /// stored here on success.</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment"> /// \param TempPathName [out] - If given, the temporary file path name</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="comment"> /// will be stored here on success.</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="comment"></span> <span class="keyword">static</span> llvm::raw_fd_ostream *</div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <a class="code" href="classclang_1_1CompilerInstance.html#a58cdc44d684cb2473602b130f40a2219">createOutputFile</a>(StringRef OutputPath, std::string &Error,</div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordtype">bool</span> Binary, <span class="keywordtype">bool</span> RemoveFileOnSignal,</div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> StringRef BaseInput,</div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> StringRef Extension,</div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">bool</span> UseTemporary,</div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">bool</span> CreateMissingDirectories,</div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> std::string *ResultPathName,</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> std::string *TempPathName);</div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment"></span></div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment"> /// @name Initialization Utility Methods</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment"> /// {</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment"> /// InitializeSourceManager - Initialize the source manager to set InputFile</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="comment"> /// as the main file.</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="comment"> /// \return True on success.</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47099b8fb4b33df61ffaefa673a4ae98">InitializeSourceManager</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendInputFile.html" title="An input file for the front end.">FrontendInputFile</a> &<a class="code" href="JSONCompilationDatabase_8cpp.html#aece53df006a4f11f7ebaac621f5d3bdb">Input</a>);</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="comment"></span></div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="comment"> /// InitializeSourceManager - Initialize the source manager to set InputFile</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="comment"> /// as the main file.</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment"> /// \return True on success.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a47099b8fb4b33df61ffaefa673a4ae98">InitializeSourceManager</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendInputFile.html" title="An input file for the front end.">FrontendInputFile</a> &<a class="code" href="JSONCompilationDatabase_8cpp.html#aece53df006a4f11f7ebaac621f5d3bdb">Input</a>,</div>
+<div class="line"><a name="l00650"></a><span class="lineno"> 650</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="l00651"></a><span class="lineno"> 651</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="l00652"></a><span class="lineno"> 652</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SourceMgr,</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</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> &Opts);</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="comment"></span></div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="comment"> /// }</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="comment"></span> </div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ModuleLoadResult.html" title="Describes the result of attempting to load a module.">ModuleLoadResult</a> <a class="code" href="classclang_1_1CompilerInstance.html#a092ee5b0a8b55fe456f2c460b2171b5b" title="}">loadModule</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> ImportLoc,</div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <a class="code" href="classllvm_1_1ArrayRef.html">ModuleIdPath</a> Path,</div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <a class="code" href="classclang_1_1Module.html#a1ca9cf81299c2f40c68d04f44eea8a67" title="Describes the visibility of the various names within a particular module.">Module::NameVisibilityKind</a> <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>,</div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordtype">bool</span> IsInclusionDirective);</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompilerInstance.html#af8598461c051d1f8328695b7d42ce270" title="Make the given module visible.">makeModuleVisible</a>(<a class="code" href="classclang_1_1Module.html" title="Describes a module or submodule.">Module</a> *Mod,</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <a class="code" href="classclang_1_1Module.html#a1ca9cf81299c2f40c68d04f44eea8a67" title="Describes the visibility of the various names within a particular module.">Module::NameVisibilityKind</a> <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>,</div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</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> ImportLoc,</div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keywordtype">bool</span> Complain);</div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
+<div class="line"><a name="l00667"></a><span class="lineno"><a class="code" href="classclang_1_1CompilerInstance.html#a9c774764f95704d9fc2ae9110fc2dded"> 667</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompilerInstance.html#a9c774764f95704d9fc2ae9110fc2dded">hadModuleLoaderFatalFailure</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ModuleLoader.html#a09f6c2bf60e24a1ccfa3802f09c0fd79">ModuleLoader::HadFatalFailure</a>;</div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> }</div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> };</div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
More information about the llvm-commits
mailing list