[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/RewriteObjC_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteObjC_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteObjC_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteObjC_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,505 @@
+<!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: RewriteObjC.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_bacd97c81f21ffbc7c5c7e20967dca49.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">RewriteObjC.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteObjC_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/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a8ba87375ecbff647fa1056961780b51d" title="ObjC->C Rewriter.">RewriteObjC</a>.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a8ba87375ecbff647fa1056961780b51d" title="ObjC->C Rewriter.">RewriteObjC</a>.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  RewriteObjC.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AST.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.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/Compiler.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</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>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtVisitor.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtCXX.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtObjC.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtOpenMP.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ParentMap.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/include/llvm/ADT/StringExtras.h</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AST.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.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/STLExtras.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.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/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.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/Rewrite/Frontend/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.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/Rewrite/Frontend/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/ADT/Twine.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/Support/ErrorHandling.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.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/Support/system_error.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandList.inc:</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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.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/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.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/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> /home/tstellar/llvm/include/llvm/ADT/Triple.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/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/RawCommentList.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/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.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/Rewrite/Frontend/../../../include/clang/Basic/FileManager.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/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/include/llvm-c/Core.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/Rewrite/Frontend/../../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.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/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.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/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.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/Rewrite/Frontend/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.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/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.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/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.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/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.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/Rewrite/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="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/Rewrite/Frontend/../../../include/clang/AST/DeclTemplate.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.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/Rewrite/Frontend/../../../include/clang/AST/StmtVisitor.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/Rewrite/Frontend/../../../include/clang/AST/StmtCXX.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/Rewrite/Frontend/../../../include/clang/AST/StmtObjC.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/Rewrite/Frontend/../../../include/clang/AST/StmtOpenMP.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/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.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/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.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/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc:</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/StringSwitch.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ParentMap.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/Rewrite/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="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/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.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/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.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/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> /home/tstellar/llvm/include/llvm/ADT/StringExtras.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteRope_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,886 @@
+<!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: RewriteRope.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">RewriteRope.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteRope_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">//===--- RewriteRope.cpp - Rope specialized for rewriter --------*- 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 RewriteRope class, which is a powerful string.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="RewriteRope_8h.html">clang/Rewrite/Core/RewriteRope.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include <algorithm></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">using namespace </span>clang;</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">/// RewriteRope is a "strong" string class, designed to make insertions and</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment">/// deletions in the middle of the string nearly constant time (really, they are</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment">/// O(log N), but with a very low constant factor).</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">/// The implementation of this datastructure is a conceptual linear sequence of</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment">/// RopePiece elements.  Each RopePiece represents a view on a separately</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment">/// allocated and reference counted string.  This means that splitting a very</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment">/// long string can be done in constant time by splitting a RopePiece that</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment">/// references the whole string into two rope pieces that reference each half.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">/// Once split, another string can be inserted in between the two halves by</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">/// inserting a RopePiece in between the two others.  All of this is very</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">/// inexpensive: it takes time proportional to the number of RopePieces, not the</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">/// length of the strings they represent.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// While a linear sequences of RopePieces is the conceptual model, the actual</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// implementation captures them in an adapted B+ Tree.  Using a B+ tree (which</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// is a tree that keeps the values in the leaves and has where each node</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">/// contains a reasonable number of pointers to children/values) allows us to</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">/// maintain efficient operation when the RewriteRope contains a *huge* number</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment">/// of RopePieces.  The basic idea of the B+ Tree is that it allows us to find</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment">/// the RopePiece corresponding to some offset very efficiently, and it</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">/// automatically balances itself on insertions of RopePieces (which can happen</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">/// for both insertions and erases of string ranges).</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">/// The one wrinkle on the theory is that we don't attempt to keep the tree</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">/// properly balanced when erases happen.  Erases of string data can both insert</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">/// new RopePieces (e.g. when the middle of some other rope piece is deleted,</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment">/// which results in two rope pieces, which is just like an insert) or it can</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">/// reduce the number of RopePieces maintained by the B+Tree.  In the case when</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">/// the number of RopePieces is reduced, we don't attempt to maintain the</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">/// standard 'invariant' that each node in the tree contains at least</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">/// 'WidthFactor' children/values.  For our use cases, this doesn't seem to</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">/// matter.</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">/// The implementation below is primarily implemented in terms of three classes:</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">///   RopePieceBTreeNode - Common base class for:</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">///     RopePieceBTreeLeaf - Directly manages up to '2*WidthFactor' RopePiece</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">///          nodes.  This directly represents a chunk of the string with those</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">///          RopePieces contatenated.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">///     RopePieceBTreeInterior - An interior node in the B+ Tree, which manages</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">///          up to '2*WidthFactor' other nodes in the tree.</span></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> </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">// RopePieceBTreeNode Class</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">  /// RopePieceBTreeNode - Common base class of RopePieceBTreeLeaf and</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="comment">  /// RopePieceBTreeInterior.  This provides some 'virtual' dispatching methods</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment">  /// and a flag that determines which subclass the instance is.  Also</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">  /// important, this node knows the full extend of the node, including any</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment">  /// children that it has.  This allows efficient skipping over entire subtrees</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment">  /// when looking for an offset in the BTree.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment"></span>  <span class="keyword">class </span>RopePieceBTreeNode {</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keyword">protected</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment">    /// WidthFactor - This controls the number of K/V slots held in the BTree:</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment">    /// how wide it is.  Each level of the BTree is guaranteed to have at least</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> <span class="comment">    /// 'WidthFactor' elements in it (either ropepieces or children), (except</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> <span class="comment">    /// the root, which may have less) and may have at most 2*WidthFactor</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment">    /// elements.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment"></span>    <span class="keyword">enum</span> { WidthFactor = 8 };</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">    /// Size - This is the number of bytes of file this node (including any</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">    /// potential children) covers.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> Size;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">    /// IsLeaf - True if this is an instance of RopePieceBTreeLeaf, false if it</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">    /// is an instance of RopePieceBTreeInterior.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment"></span>    <span class="keywordtype">bool</span> IsLeaf;</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>     RopePieceBTreeNode(<span class="keywordtype">bool</span> isLeaf) : Size(0), IsLeaf(isLeaf) {}</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     ~RopePieceBTreeNode() {}</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordtype">bool</span> isLeaf()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IsLeaf; }</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>     <span class="keywordtype">unsigned</span> size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Size; }</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>     <span class="keywordtype">void</span> Destroy();</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">    /// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">    /// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">    /// offset.  The offset is relative, so "0" is the start of the node.</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">    /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment">    /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment"></span>    RopePieceBTreeNode *split(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>);</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">    /// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">    /// specified offset.  The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">    /// node.</span></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">    /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">    /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment"></span>    RopePieceBTreeNode *insert(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</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">    /// erase - Remove NumBytes from this node at the specified offset.  We are</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment">    /// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment"></span>    <span class="keywordtype">void</span> erase(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   };</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">// RopePieceBTreeLeaf Class</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment">  /// RopePieceBTreeLeaf - Directly manages up to '2*WidthFactor' RopePiece</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment">  /// nodes.  This directly represents a chunk of the string with those</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">  /// RopePieces contatenated.  Since this is a B+Tree, all values (in this case</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment">  /// instances of RopePiece) are stored in leaves like this.  To make iteration</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment">  /// over the leaves efficient, they maintain a singly linked list through the</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">  /// NextLeaf field.  This allows the B+Tree forward iterator to be constant</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">  /// time for all increments.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment"></span>  <span class="keyword">class </span>RopePieceBTreeLeaf : <span class="keyword">public</span> RopePieceBTreeNode {<span class="comment"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">    /// NumPieces - This holds the number of rope pieces currently active in the</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment">    /// Pieces array.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> NumPieces;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment"></span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">    /// Pieces - This tracks the file chunks currently in this leaf.</span></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"></span>    <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> Pieces[2*WidthFactor];</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">    /// NextLeaf - This is a pointer to the next leaf in the tree, allowing</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> <span class="comment">    /// efficient in-order forward iteration of the tree without traversal.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment"></span>    RopePieceBTreeLeaf **PrevLeaf, *NextLeaf;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     RopePieceBTreeLeaf() : RopePieceBTreeNode(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>), NumPieces(0),</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>                            PrevLeaf(0), NextLeaf(0) {}</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>     ~RopePieceBTreeLeaf() {</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>       <span class="keywordflow">if</span> (PrevLeaf || NextLeaf)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>         removeFromLeafInOrder();</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       clear();</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     }</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordtype">bool</span> isFull()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumPieces == 2*WidthFactor; }</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">    /// clear - Remove all rope pieces from this leaf.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment"></span>    <span class="keywordtype">void</span> clear() {</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>       <span class="keywordflow">while</span> (NumPieces)</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>         Pieces[--NumPieces] = <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>();</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>       Size = 0;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     }</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>     <span class="keywordtype">unsigned</span> getNumPieces()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumPieces; }</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="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &getPiece(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>       assert(i < getNumPieces() && <span class="stringliteral">"Invalid piece ID"</span>);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>       <span class="keywordflow">return</span> Pieces[i];</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     }</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     <span class="keyword">const</span> RopePieceBTreeLeaf *getNextLeafInOrder()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NextLeaf; }</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     <span class="keywordtype">void</span> insertAfterLeafInOrder(RopePieceBTreeLeaf *<a class="code" href="ASTMatchFinder_8cpp.html#a1dfddff6f4d91f415ffe4b9a6da5f489">Node</a>) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>       assert(PrevLeaf == 0 && NextLeaf == 0 && <span class="stringliteral">"Already in ordering"</span>);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>       NextLeaf = Node->NextLeaf;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>       <span class="keywordflow">if</span> (NextLeaf)</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>         NextLeaf->PrevLeaf = &NextLeaf;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>       PrevLeaf = &Node->NextLeaf;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>       Node->NextLeaf = <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     }</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     <span class="keywordtype">void</span> removeFromLeafInOrder() {</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>       <span class="keywordflow">if</span> (PrevLeaf) {</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>         *PrevLeaf = NextLeaf;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>         <span class="keywordflow">if</span> (NextLeaf)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>           NextLeaf->PrevLeaf = PrevLeaf;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (NextLeaf) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>         NextLeaf->PrevLeaf = 0;</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>     }</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">    /// FullRecomputeSizeLocally - This method recomputes the 'Size' field by</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">    /// summing the size of all RopePieces.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment"></span>    <span class="keywordtype">void</span> FullRecomputeSizeLocally() {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>       Size = 0;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = getNumPieces(); i != e; ++i)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>         Size += getPiece(i).size();</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     }</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="comment"></span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment">    /// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> <span class="comment">    /// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> <span class="comment">    /// offset.  The offset is relative, so "0" is the start of the node.</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">    /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">    /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment"></span>    RopePieceBTreeNode *split(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>);</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">  209</span> <span class="comment">    /// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment">    /// specified offset.  The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment">    /// node.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> <span class="comment">    /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> <span class="comment">    /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> <span class="comment"></span>    RopePieceBTreeNode *insert(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment">    /// erase - Remove NumBytes from this node at the specified offset.  We are</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="comment">    /// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> <span class="comment"></span>    <span class="keywordtype">void</span> erase(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes);</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="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> classof(<span class="keyword">const</span> RopePieceBTreeNode *N) {</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>       <span class="keywordflow">return</span> N->isLeaf();</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>   };</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="comment"></span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">/// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment">/// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> <span class="comment">/// offset.  The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeLeaf::split(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) {</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>   <span class="comment">// Find the insertion point.  We are guaranteed that there is a split at the</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <span class="comment">// specified offset so find it.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   <span class="keywordflow">if</span> (Offset == 0 || Offset == size()) {</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>     <span class="comment">// Fastpath for a common case.  There is already a splitpoint at the end.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   }</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   <span class="comment">// Find the piece that this offset lands in.</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <span class="keywordtype">unsigned</span> PieceOffs = 0;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">while</span> (Offset >= PieceOffs+Pieces[i].size()) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     PieceOffs += Pieces[i].size();</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>     ++i;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   }</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   <span class="comment">// If there is already a split point at the specified offset, just return</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   <span class="comment">// success.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   <span class="keywordflow">if</span> (PieceOffs == Offset)</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   <span class="comment">// Otherwise, we need to split piece 'i' at Offset-PieceOffs.  Convert Offset</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   <span class="comment">// to being Piece relative.</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <span class="keywordtype">unsigned</span> IntraPieceOffset = Offset-PieceOffs;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   <span class="comment">// We do this by shrinking the RopePiece and then doing an insert of the tail.</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> Tail(Pieces[i].StrData, Pieces[i].StartOffs+IntraPieceOffset,</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>                  Pieces[i].EndOffs);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   Size -= Pieces[i].size();</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>   Pieces[i].EndOffs = Pieces[i].StartOffs+IntraPieceOffset;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>   Size += Pieces[i].size();</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>   <span class="keywordflow">return</span> insert(Offset, Tail);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> }</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> <span class="comment"></span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> <span class="comment">/// insert - Insert the specified RopePiece into this tree node at the</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> <span class="comment">/// specified offset.  The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeLeaf::insert(<span class="keywordtype">unsigned</span> Offset,</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>                                                <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   <span class="comment">// If this node is not full, insert the piece.</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   <span class="keywordflow">if</span> (!isFull()) {</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>     <span class="comment">// Find the insertion point.  We are guaranteed that there is a split at the</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     <span class="comment">// specified offset so find it.</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     <span class="keywordtype">unsigned</span> i = 0, e = getNumPieces();</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>     <span class="keywordflow">if</span> (Offset == size()) {</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>       <span class="comment">// Fastpath for a common case.</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>       i = e;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>       <span class="keywordtype">unsigned</span> SlotOffs = 0;</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>       <span class="keywordflow">for</span> (; Offset > SlotOffs; ++i)</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>         SlotOffs += getPiece(i).size();</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>       assert(SlotOffs == Offset && <span class="stringliteral">"Split didn't occur before insertion!"</span>);</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> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     <span class="comment">// For an insertion into a non-full leaf node, just insert the value in</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     <span class="comment">// its sorted position.  This requires moving later values over.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     <span class="keywordflow">for</span> (; i != e; --e)</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>       Pieces[e] = Pieces[e-1];</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>     Pieces[i] = R;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>     ++NumPieces;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     Size += R.<a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>();</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   }</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   <span class="comment">// Otherwise, if this is leaf is full, split it in two halves.  Since this</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>   <span class="comment">// node is full, it contains 2*WidthFactor values.  We move the first</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>   <span class="comment">// 'WidthFactor' values to the LHS child (which we leave in this node) and</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <span class="comment">// move the last 'WidthFactor' values into the RHS child.</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   <span class="comment">// Create the new node.</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>   RopePieceBTreeLeaf *NewNode = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   <span class="comment">// Move over the last 'WidthFactor' values from here to NewNode.</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   std::copy(&Pieces[WidthFactor], &Pieces[2*WidthFactor],</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>             &NewNode->Pieces[0]);</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="comment">// Replace old pieces with null RopePieces to drop refcounts.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   std::fill(&Pieces[WidthFactor], &Pieces[2*WidthFactor], <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>());</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   <span class="comment">// Decrease the number of values in the two nodes.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>   NewNode->NumPieces = NumPieces = WidthFactor;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>   <span class="comment">// Recompute the two nodes' size.</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   NewNode->FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="comment">// Update the list of leaves.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   NewNode->insertAfterLeafInOrder(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   <span class="comment">// These insertions can't fail.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <span class="keywordflow">if</span> (this->size() >= Offset)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     this->insert(Offset, R);</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>     NewNode->insert(Offset - this->size(), R);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <span class="keywordflow">return</span> NewNode;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> }</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="comment"></span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="comment">/// erase - Remove NumBytes from this node at the specified offset.  We are</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> <span class="comment">/// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> <span class="comment"></span><span class="keywordtype">void</span> RopePieceBTreeLeaf::erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="comment">// Since we are guaranteed that there is a split at Offset, we start by</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   <span class="comment">// finding the Piece that starts there.</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="keywordtype">unsigned</span> PieceOffs = 0;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   <span class="keywordflow">for</span> (; Offset > PieceOffs; ++i)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>     PieceOffs += getPiece(i).size();</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>   assert(PieceOffs == Offset && <span class="stringliteral">"Split didn't occur before erase!"</span>);</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   <span class="keywordtype">unsigned</span> StartPiece = i;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   <span class="comment">// Figure out how many pieces completely cover 'NumBytes'.  We want to remove</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="comment">// all of them.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   <span class="keywordflow">for</span> (; Offset+NumBytes > PieceOffs+getPiece(i).size(); ++i)</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     PieceOffs += getPiece(i).size();</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="comment">// If we exactly include the last one, include it in the region to delete.</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   <span class="keywordflow">if</span> (Offset+NumBytes == PieceOffs+getPiece(i).size())</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>     PieceOffs += getPiece(i).size(), ++i;</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>   <span class="comment">// If we completely cover some RopePieces, erase them now.</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   <span class="keywordflow">if</span> (i != StartPiece) {</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>     <span class="keywordtype">unsigned</span> NumDeleted = i-StartPiece;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     <span class="keywordflow">for</span> (; i != getNumPieces(); ++i)</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>       Pieces[i-NumDeleted] = Pieces[i];</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>     <span class="comment">// Drop references to dead rope pieces.</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     std::fill(&Pieces[getNumPieces()-NumDeleted], &Pieces[getNumPieces()],</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>               <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>());</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     NumPieces -= NumDeleted;</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>     <span class="keywordtype">unsigned</span> CoverBytes = PieceOffs-<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>     NumBytes -= CoverBytes;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>     Size -= CoverBytes;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   }</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <span class="comment">// If we completely removed some stuff, we could be done.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="keywordflow">if</span> (NumBytes == 0) <span class="keywordflow">return</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">  375</span>   <span class="comment">// Okay, now might be erasing part of some Piece.  If this is the case, then</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   <span class="comment">// move the start point of the piece.</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   assert(getPiece(StartPiece).size() > NumBytes);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   Pieces[StartPiece].StartOffs += NumBytes;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>   <span class="comment">// The size of this node just shrunk by NumBytes.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   Size -= NumBytes;</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> }</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="comment">// RopePieceBTreeInterior Class</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> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="comment">  /// RopePieceBTreeInterior - This represents an interior node in the B+Tree,</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="comment">  /// which holds up to 2*WidthFactor pointers to child nodes.</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> <span class="comment"></span>  <span class="keyword">class </span>RopePieceBTreeInterior : <span class="keyword">public</span> RopePieceBTreeNode {<span class="comment"></span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="comment">    /// NumChildren - This holds the number of children currently active in the</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> <span class="comment">    /// Children array.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> NumChildren;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     RopePieceBTreeNode *Children[2*WidthFactor];</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     RopePieceBTreeInterior() : RopePieceBTreeNode(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), NumChildren(0) {}</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     RopePieceBTreeInterior(RopePieceBTreeNode *LHS, RopePieceBTreeNode *RHS)</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     : RopePieceBTreeNode(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>       Children[0] = LHS;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>       Children[1] = RHS;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>       NumChildren = 2;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>       Size = LHS->size() + RHS->size();</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     }</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     ~RopePieceBTreeInterior() {</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = getNumChildren(); i != e; ++i)</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>         Children[i]->Destroy();</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>     }</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>     <span class="keywordtype">bool</span> isFull()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumChildren == 2*WidthFactor; }</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     <span class="keywordtype">unsigned</span> getNumChildren()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumChildren; }</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>     <span class="keyword">const</span> RopePieceBTreeNode *getChild(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>       assert(i < NumChildren && <span class="stringliteral">"invalid child #"</span>);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>       <span class="keywordflow">return</span> Children[i];</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     }</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>     RopePieceBTreeNode *getChild(<span class="keywordtype">unsigned</span> i) {</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>       assert(i < NumChildren && <span class="stringliteral">"invalid child #"</span>);</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       <span class="keywordflow">return</span> Children[i];</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>     }</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> <span class="comment"></span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> <span class="comment">    /// FullRecomputeSizeLocally - Recompute the Size field of this node by</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="comment">    /// summing up the sizes of the child nodes.</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="comment"></span>    <span class="keywordtype">void</span> FullRecomputeSizeLocally() {</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>       Size = 0;</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = getNumChildren(); i != e; ++i)</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>         Size += getChild(i)->size();</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>     }</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </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">    /// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="comment">    /// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> <span class="comment">    /// offset.  The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> <span class="comment">    /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> <span class="comment">    /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> <span class="comment"></span>    RopePieceBTreeNode *split(<span class="keywordtype">unsigned</span> Offset);</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> <span class="comment"></span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> <span class="comment">    /// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> <span class="comment">    /// specified offset.  The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> <span class="comment">    /// node.</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">    /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> <span class="comment">    /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> <span class="comment"></span>    RopePieceBTreeNode *insert(<span class="keywordtype">unsigned</span> Offset, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> <span class="comment"></span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> <span class="comment">    /// HandleChildPiece - A child propagated an insertion result up to us.</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> <span class="comment">    /// Insert the new child, and/or propagate the result further up the tree.</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="comment"></span>    RopePieceBTreeNode *HandleChildPiece(<span class="keywordtype">unsigned</span> i, RopePieceBTreeNode *RHS);</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> <span class="comment"></span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> <span class="comment">    /// erase - Remove NumBytes from this node at the specified offset.  We are</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> <span class="comment">    /// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> <span class="comment"></span>    <span class="keywordtype">void</span> erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes);</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> classof(<span class="keyword">const</span> RopePieceBTreeNode *N) {</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>       <span class="keywordflow">return</span> !N->isLeaf();</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>     }</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   };</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> <span class="comment"></span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> <span class="comment">/// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> <span class="comment">/// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> <span class="comment">/// offset.  The offset is relative, so "0" is the start of the node.</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">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeInterior::split(<span class="keywordtype">unsigned</span> Offset) {</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   <span class="comment">// Figure out which child to split.</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>   <span class="keywordflow">if</span> (Offset == 0 || Offset == size())</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>     <span class="keywordflow">return</span> 0;  <span class="comment">// If we have an exact offset, we're already split.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>   <span class="keywordtype">unsigned</span> ChildOffset = 0;</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>   <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <span class="keywordflow">for</span> (; Offset >= ChildOffset+getChild(i)->size(); ++i)</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>     ChildOffset += getChild(i)->size();</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>   <span class="comment">// If already split there, we're done.</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="keywordflow">if</span> (ChildOffset == Offset)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   <span class="comment">// Otherwise, recursively split the child.</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = getChild(i)->split(Offset-ChildOffset))</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     <span class="keywordflow">return</span> HandleChildPiece(i, RHS);</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   <span class="keywordflow">return</span> 0;  <span class="comment">// Done!</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"></span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> <span class="comment">/// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> <span class="comment">/// specified offset.  The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> <span class="comment">/// node.</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeInterior::insert(<span class="keywordtype">unsigned</span> Offset,</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>                                                    <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>   <span class="comment">// Find the insertion point.  We are guaranteed that there is a split at the</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>   <span class="comment">// specified offset so find it.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>   <span class="keywordtype">unsigned</span> i = 0, e = getNumChildren();</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <span class="keywordtype">unsigned</span> ChildOffs = 0;</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>   <span class="keywordflow">if</span> (Offset == size()) {</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>     <span class="comment">// Fastpath for a common case.  Insert at end of last child.</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     i = e-1;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     ChildOffs = size()-getChild(i)->size();</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     <span class="keywordflow">for</span> (; Offset > ChildOffs+getChild(i)->size(); ++i)</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       ChildOffs += getChild(i)->size();</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>   }</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> </div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>   Size += R.<a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>();</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>   <span class="comment">// Insert at the end of this child.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>   <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = getChild(i)->insert(Offset-ChildOffs, R))</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>     <span class="keywordflow">return</span> HandleChildPiece(i, RHS);</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> }</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span> <span class="comment"></span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> <span class="comment">/// HandleChildPiece - A child propagated an insertion result up to us.</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> <span class="comment">/// Insert the new child, and/or propagate the result further up the tree.</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> <span class="comment"></span>RopePieceBTreeNode *</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> RopePieceBTreeInterior::HandleChildPiece(<span class="keywordtype">unsigned</span> i, RopePieceBTreeNode *RHS) {</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="comment">// Otherwise the child propagated a subtree up to us as a new child.  See if</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   <span class="comment">// we have space for it here.</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>   <span class="keywordflow">if</span> (!isFull()) {</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     <span class="comment">// Insert RHS after child 'i'.</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>     <span class="keywordflow">if</span> (i + 1 != getNumChildren())</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>       memmove(&Children[i+2], &Children[i+1],</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>               (getNumChildren()-i-1)*<span class="keyword">sizeof</span>(Children[0]));</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     Children[i+1] = RHS;</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>     ++NumChildren;</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>     <span class="keywordflow">return</span> 0;</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> </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="comment">// Okay, this node is full.  Split it in half, moving WidthFactor children to</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>   <span class="comment">// a newly allocated interior node.</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> </div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>   <span class="comment">// Create the new node.</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>   RopePieceBTreeInterior *NewNode = <span class="keyword">new</span> RopePieceBTreeInterior();</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>   <span class="comment">// Move over the last 'WidthFactor' values from here to NewNode.</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   memcpy(&NewNode->Children[0], &Children[WidthFactor],</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>          WidthFactor*<span class="keyword">sizeof</span>(Children[0]));</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> </div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <span class="comment">// Decrease the number of values in the two nodes.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   NewNode->NumChildren = NumChildren = WidthFactor;</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   <span class="comment">// Finally, insert the two new children in the side the can (now) hold them.</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   <span class="comment">// These insertions can't fail.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="keywordflow">if</span> (i < WidthFactor)</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>     this->HandleChildPiece(i, RHS);</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>     NewNode->HandleChildPiece(i-WidthFactor, RHS);</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="comment">// Recompute the two nodes' size.</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>   NewNode->FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   <span class="keywordflow">return</span> NewNode;</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> }</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> <span class="comment"></span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> <span class="comment">/// erase - Remove NumBytes from this node at the specified offset.  We are</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> <span class="comment">/// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> <span class="comment"></span><span class="keywordtype">void</span> RopePieceBTreeInterior::erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>   <span class="comment">// This will shrink this node by NumBytes.</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>   Size -= NumBytes;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <span class="comment">// Find the first child that overlaps with Offset.</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>   <span class="keywordflow">for</span> (; Offset >= getChild(i)->size(); ++i)</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>     Offset -= getChild(i)->size();</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> </div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   <span class="comment">// Propagate the delete request into overlapping children, or completely</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   <span class="comment">// delete the children as appropriate.</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   <span class="keywordflow">while</span> (NumBytes) {</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>     RopePieceBTreeNode *CurChild = getChild(i);</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span> </div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>     <span class="comment">// If we are deleting something contained entirely in the child, pass on the</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>     <span class="comment">// request.</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>     <span class="keywordflow">if</span> (Offset+NumBytes < CurChild->size()) {</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>       CurChild->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>     }</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> </div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>     <span class="comment">// If this deletion request starts somewhere in the middle of the child, it</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     <span class="comment">// must be deleting to the end of the child.</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>     <span class="keywordflow">if</span> (Offset) {</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>       <span class="keywordtype">unsigned</span> BytesFromChild = CurChild->size()-<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>       CurChild->erase(Offset, BytesFromChild);</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>       NumBytes -= BytesFromChild;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>       <span class="comment">// Start at the beginning of the next child.</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>       Offset = 0;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>       ++i;</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     }</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>     <span class="comment">// If the deletion request completely covers the child, delete it and move</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>     <span class="comment">// the rest down.</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>     NumBytes -= CurChild->size();</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     CurChild->Destroy();</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     --NumChildren;</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>     <span class="keywordflow">if</span> (i != getNumChildren())</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>       memmove(&Children[i], &Children[i+1],</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>               (getNumChildren()-i)*<span class="keyword">sizeof</span>(Children[0]));</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>   }</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> }</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span> </div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span> <span class="comment">// RopePieceBTreeNode Implementation</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span> </div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span> <span class="keywordtype">void</span> RopePieceBTreeNode::Destroy() {</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     <span class="keyword">delete</span> Leaf;</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>     <span class="keyword">delete</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> }</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span> <span class="comment"></span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span> <span class="comment">/// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span> <span class="comment">/// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span> <span class="comment">/// offset.  The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeNode::split(<span class="keywordtype">unsigned</span> Offset) {</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   assert(Offset <= size() && <span class="stringliteral">"Invalid offset to split!"</span>);</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>   <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>     <span class="keywordflow">return</span> Leaf->split(Offset);</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>   <span class="keywordflow">return</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>)->split(Offset);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span> <span class="comment">/// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span> <span class="comment">/// specified offset.  The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span> <span class="comment">/// node.</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeNode::insert(<span class="keywordtype">unsigned</span> Offset,</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>                                                <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>   assert(Offset <= size() && <span class="stringliteral">"Invalid offset to insert!"</span>);</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>   <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>     <span class="keywordflow">return</span> Leaf->insert(Offset, R);</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>   <span class="keywordflow">return</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>)->insert(Offset, R);</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> }</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span> <span class="comment"></span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span> <span class="comment">/// erase - Remove NumBytes from this node at the specified offset.  We are</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span> <span class="comment">/// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> <span class="comment"></span><span class="keywordtype">void</span> RopePieceBTreeNode::erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>   assert(Offset+NumBytes <= size() && <span class="stringliteral">"Invalid offset to erase!"</span>);</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>     <span class="keywordflow">return</span> Leaf->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>   <span class="keywordflow">return</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>)->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span> }</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span> </div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span> </div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span> <span class="comment">// RopePieceBTreeIterator Implementation</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> </div>
+<div class="line"><a name="l00661"></a><span class="lineno"><a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">  661</a></span> <span class="keyword">static</span> <span class="keyword">const</span> RopePieceBTreeLeaf *<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>) {</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>   <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span>RopePieceBTreeLeaf*<span class="keyword">></span>(<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>);</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> </div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span> <span class="comment">// begin iterator.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a55a2ecf8e4070a3b18e48b780cdd6f51">  666</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">RopePieceBTreeIterator::RopePieceBTreeIterator</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *n) {</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>   <span class="keyword">const</span> RopePieceBTreeNode *N = <span class="keyword">static_cast<</span><span class="keyword">const </span>RopePieceBTreeNode*<span class="keyword">></span>(n);</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span> </div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>   <span class="comment">// Walk down the left side of the tree until we get to a leaf.</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>   <span class="keywordflow">while</span> (<span class="keyword">const</span> RopePieceBTreeInterior *IN = dyn_cast<RopePieceBTreeInterior>(N))</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>     N = IN->getChild(0);</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">// We must have at least one leaf.</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>   CurNode = cast<RopePieceBTreeLeaf>(N);</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>   <span class="comment">// If we found a leaf that happens to be empty, skip over it until we get</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>   <span class="comment">// to something full.</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>   <span class="keywordflow">while</span> (CurNode && <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNumPieces() == 0)</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>     CurNode = <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNextLeafInOrder();</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> </div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>   <span class="keywordflow">if</span> (CurNode != 0)</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     CurPiece = &<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getPiece(0);</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   <span class="keywordflow">else</span>  <span class="comment">// Empty tree, this is an end() iterator.</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>     CurPiece = 0;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>   CurChar = 0;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> }</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span> <span class="keywordtype">void</span> RopePieceBTreeIterator::MoveToNextPiece() {</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   <span class="keywordflow">if</span> (CurPiece != &<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getPiece(<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNumPieces()-1)) {</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>     CurChar = 0;</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>     ++CurPiece;</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>   }</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span> </div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>   <span class="comment">// Find the next non-empty leaf node.</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   <span class="keywordflow">do</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     CurNode = <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNextLeafInOrder();</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   <span class="keywordflow">while</span> (CurNode && <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNumPieces() == 0);</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> </div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>   <span class="keywordflow">if</span> (CurNode != 0)</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>     CurPiece = &<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getPiece(0);</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>   <span class="keywordflow">else</span> <span class="comment">// Hit end().</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     CurPiece = 0;</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>   CurChar = 0;</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span> }</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span> </div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span> <span class="comment">// RopePieceBTree Implementation</span></div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span> <span class="comment">//===----------------------------------------------------------------------===//</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"><a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">  711</a></span> <span class="keyword">static</span> RopePieceBTreeNode *<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(<span class="keywordtype">void</span> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>) {</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>RopePieceBTreeNode*<span class="keyword">></span>(<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> }</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span> </div>
+<div class="line"><a name="l00715"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">  715</a></span> <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree::RopePieceBTree</a>() {</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>   Root = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> }</div>
+<div class="line"><a name="l00718"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a370885aa47f7ad7904926baf98d49a6e">  718</a></span> <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree::RopePieceBTree</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> &RHS) {</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>   assert(RHS.<a class="code" href="classclang_1_1RopePieceBTree.html#a4713952d84c3ece3e23191953e78670a">empty</a>() && <span class="stringliteral">"Can't copy non-empty tree yet"</span>);</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>   Root = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span> }</div>
+<div class="line"><a name="l00722"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a2d57e33c075c95f38ebe02b23cd34aa7">  722</a></span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2d57e33c075c95f38ebe02b23cd34aa7">RopePieceBTree::~RopePieceBTree</a>() {</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>   <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->Destroy();</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> }</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">  726</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">RopePieceBTree::size</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>   <span class="keywordflow">return</span> <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->size();</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</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"><a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">  730</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">RopePieceBTree::clear</a>() {</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>   <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)))</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>     Leaf->clear();</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>   <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>     <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->Destroy();</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>     Root = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>   }</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span> }</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span> </div>
+<div class="line"><a name="l00739"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">  739</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">RopePieceBTree::insert</a>(<span class="keywordtype">unsigned</span> Offset, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>   <span class="comment">// #1. Split at Offset.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>   <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->split(Offset))</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>     Root = <span class="keyword">new</span> RopePieceBTreeInterior(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root), RHS);</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span> </div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>   <span class="comment">// #2. Do the insertion.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>   <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)-><a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(Offset, R))</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>     Root = <span class="keyword">new</span> RopePieceBTreeInterior(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root), RHS);</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span> }</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span> </div>
+<div class="line"><a name="l00749"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">  749</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">RopePieceBTree::erase</a>(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>   <span class="comment">// #1. Split at Offset.</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>   <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->split(Offset))</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>     Root = <span class="keyword">new</span> RopePieceBTreeInterior(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root), RHS);</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span> </div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>   <span class="comment">// #2. Do the erasing.</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>   <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->erase(Offset, NumBytes);</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> </div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span> <span class="comment">// RewriteRope Implementation</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> <span class="comment"></span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span> <span class="comment">/// MakeRopeString - This copies the specified byte range into some instance of</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span> <span class="comment">/// RopeRefCountString, and return a RopePiece that represents it.  This uses</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span> <span class="comment">/// the AllocBuffer object to aggregate requests for small strings into one</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span> <span class="comment">/// allocation instead of doing tons of tiny allocations.</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span> <span class="comment"></span><a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> RewriteRope::MakeRopeString(<span class="keyword">const</span> <span class="keywordtype">char</span> *Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End) {</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>   <span class="keywordtype">unsigned</span> Len = End-Start;</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>   assert(Len && <span class="stringliteral">"Zero length RopePiece is invalid!"</span>);</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span> </div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>   <span class="comment">// If we have space for this string in the current alloc buffer, use it.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>   <span class="keywordflow">if</span> (AllocOffs+Len <= AllocChunkSize) {</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>     memcpy(AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>+AllocOffs, Start, Len);</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>     AllocOffs += Len;</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>(AllocBuffer, AllocOffs-Len, AllocOffs);</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>   }</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span> </div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>   <span class="comment">// If we don't have enough room because this specific allocation is huge,</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>   <span class="comment">// just allocate a new rope piece for it alone.</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>   <span class="keywordflow">if</span> (Len > AllocChunkSize) {</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>     <span class="keywordtype">unsigned</span> Size = End-Start+<span class="keyword">sizeof</span>(<a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a>)-1;</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>     <a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *Res =</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>       <span class="keyword">reinterpret_cast<</span><a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *<span class="keyword">></span>(<span class="keyword">new</span> <span class="keywordtype">char</span>[Size]);</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>     Res-><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> = 0;</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>     memcpy(Res->Data, Start, End-Start);</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>(Res, 0, End-Start);</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>   }</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span> </div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>   <span class="comment">// Otherwise, this was a small request but we just don't have space for it</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>   <span class="comment">// Make a new chunk and share it with later allocations.</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span> </div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>   <span class="comment">// If we had an old allocation, drop our reference to it.</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>   <span class="keywordflow">if</span> (AllocBuffer && --AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> == 0)</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>     <span class="keyword">delete</span> [] (<span class="keywordtype">char</span>*)AllocBuffer;</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span> </div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>   <span class="keywordtype">unsigned</span> AllocSize = <a class="code" href="stddef_8h.html#aa9842c82489dbcd564e5ff03bb04c1ca">offsetof</a>(<a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a>, Data) + AllocChunkSize;</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>   AllocBuffer = <span class="keyword">reinterpret_cast<</span><a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *<span class="keyword">></span>(<span class="keyword">new</span> <span class="keywordtype">char</span>[AllocSize]);</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>   AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> = 0;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>   memcpy(AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>, Start, Len);</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>   AllocOffs = Len;</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span> </div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>   <span class="comment">// Start out the new allocation with a refcount of 1, since we have an</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   <span class="comment">// internal reference to it.</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>();</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>(AllocBuffer, 0, Len);</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span> }</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span> </div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span> </div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteRope_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8d_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: RewriteRope.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li><li class="navelem"><a class="el" href="dir_712833a27f5be7bf49ee8e99237dd33d.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">RewriteRope.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteRope_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/Rewrite/Core/Release+Asserts/RewriteRope.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/Release+Asserts/RewriteRope.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  RewriteRope.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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> </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h:</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> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LLVM.h:</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> /home/tstellar/llvm/include/llvm/Support/Casting.h:</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> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</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> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</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> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteRope_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,317 @@
+<!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: RewriteRope.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_8e6e71a2028d1d380b134748e68cbbb8.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">RewriteRope.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteRope_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">//===--- RewriteRope.h - Rope specialized for rewriter ----------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines the RewriteRope class, which is a powerful string class.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITEROPE_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITEROPE_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "llvm/Support/Compiler.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include <cassert></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include <cstddef></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include <cstring></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include <iterator></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <span class="comment">// RopeRefCountString Class</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> <span class="comment"></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">  /// RopeRefCountString - This struct is allocated with 'new char[]' from the</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">  /// heap, and represents a reference counted chunk of string data.  When its</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">  /// ref count drops to zero, it is delete[]'d.  This is primarily managed</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">  /// through the RopePiece class below.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html">   32</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">   33</a></span>     <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a>;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">   34</a></span>     <span class="keywordtype">char</span> <a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>[1];  <span class="comment">//  Variable sized.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">   36</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>() {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>       ++<a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a>;</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> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">   40</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>() {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>       <span class="keywordflow">if</span> (--<a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> == 0)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>         <span class="keyword">delete</span> [] (<span class="keywordtype">char</span>*)<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     }</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   };</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="comment">// RopePiece Class</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"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">  /// RopePiece - This class represents a view into a RopeRefCountString object.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">  /// This allows references to string data to be efficiently chopped up and</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">  /// moved around without having to push around the string data itself.</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">  /// For example, we could have a 1M RopePiece and want to insert something</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">  /// into the middle of it.  To do this, we split it into two RopePiece objects</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">  /// that both refer to the same underlying RopeRefCountString (just with</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">  /// different offsets) which is a nice constant time operation.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html">   58</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> {</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">   59</a></span>     <a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">   60</a></span>     <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">   61</a></span>     <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">   63</a></span>     <a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">RopePiece</a>() : <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>(0), <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>(0), <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>(0) {}</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="structclang_1_1RopePiece.html#aaf1b008c11e133501035dc8f23b0510d">   65</a></span>     <a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">RopePiece</a>(<a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *Str, <span class="keywordtype">unsigned</span> Start, <span class="keywordtype">unsigned</span> End)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>       : <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>(Str), <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>(Start), <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>(End) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>         <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>();</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     }</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a894f94b7d5b2821f3643435d882e5a13">   70</a></span>     <a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">RopePiece</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &RP)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>       : <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>(RP.<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>), <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>(RP.<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>), <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>(RP.<a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>         <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</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="structclang_1_1RopePiece.html#a4540481b2783aa7099445ca19e6322ff">   76</a></span>     <a class="code" href="structclang_1_1RopePiece.html#a4540481b2783aa7099445ca19e6322ff">~RopePiece</a>() {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>         <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>();</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     }</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#afb3c0091485fbc772e7c47ae39a087be">   81</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1RopePiece.html#afb3c0091485fbc772e7c47ae39a087be">operator=</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &RHS) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a> != RHS.<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>         <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>           <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>();</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>         <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a> = RHS.<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>         <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>           <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>();</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>       <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a> = RHS.<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>       <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a> = RHS.<a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</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">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#ac491bba5b4d037f96d8dc111f7fad355">   93</a></span>     <span class="keyword">const</span> <span class="keywordtype">char</span> &<a class="code" href="structclang_1_1RopePiece.html#ac491bba5b4d037f96d8dc111f7fad355">operator[]</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>       <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>[Offset+<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>];</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="structclang_1_1RopePiece.html#a4fb3fc27e4b4007f4e60a44c1d759bfa">   96</a></span>     <span class="keywordtype">char</span> &<a class="code" href="structclang_1_1RopePiece.html#a4fb3fc27e4b4007f4e60a44c1d759bfa">operator[]</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>       <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>[Offset+<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>];</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>     }</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">  100</a></span>     <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>-<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>; }</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> </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">// RopePieceBTreeIterator Class</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="comment">//===--------------------------------------------------------------------===//</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">  /// RopePieceBTreeIterator - This class provides read-only forward iteration</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment">  /// over bytes that are in a RopePieceBTree.  This first iterates over bytes</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">  /// in a RopePiece, then iterates over RopePiece's in a RopePieceBTreeLeaf,</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  /// then iterates over RopePieceBTreeLeaf's in a RopePieceBTree.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html">  111</a></span> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> :</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>       <span class="keyword">public</span> std::iterator<std::forward_iterator_tag, const char, ptrdiff_t> {<span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">    /// CurNode - The current B+Tree node that we are inspecting.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment"></span>    <span class="keyword">const</span> <span class="keywordtype">void</span> <span class="comment">/*RopePieceBTreeLeaf*/</span> *CurNode;<span class="comment"></span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment">    /// CurPiece - The current RopePiece in the B+Tree node that we're</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">    /// inspecting.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment"></span>    <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> *CurPiece;<span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment">    /// CurChar - The current byte in the RopePiece we are pointing to.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> CurChar;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="comment">// begin iterator.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">RopePieceBTreeIterator</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> <span class="comment">/*RopePieceBTreeNode*/</span> *N);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>     <span class="comment">// end iterator</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">  124</a></span>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">RopePieceBTreeIterator</a>() : CurNode(0), CurPiece(0), CurChar(0) {}</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#ab2c4bd3e39b3961b96e711d519c8794a">  126</a></span>     <span class="keywordtype">char</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#ab2c4bd3e39b3961b96e711d519c8794a">operator*</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>       <span class="keywordflow">return</span> (*CurPiece)[CurChar];</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> </div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#af157bfbb0253b665515f6d6d1d0480a9">  130</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#af157bfbb0253b665515f6d6d1d0480a9">operator==</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> &RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       <span class="keywordflow">return</span> CurPiece == RHS.CurPiece && CurChar == RHS.CurChar;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     }</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5f3be45f0533d7d6f8a374dad0edf294">  133</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5f3be45f0533d7d6f8a374dad0edf294">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> &RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>       <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1RopePieceBTreeIterator.html#af157bfbb0253b665515f6d6d1d0480a9">operator==</a>(RHS);</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> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#aae3963081ce2dccac30dae9da4f3ef5b">  137</a></span>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a>& <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#aae3963081ce2dccac30dae9da4f3ef5b">operator++</a>() {   <span class="comment">// Preincrement</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>       <span class="keywordflow">if</span> (CurChar+1 < CurPiece-><a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>())</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>         ++CurChar;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>         MoveToNextPiece();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>       <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>     }</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5e9e1aa9b71362f52fbeecd8f460dd7f">  144</a></span>     <span class="keyword">inline</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5e9e1aa9b71362f52fbeecd8f460dd7f">operator++</a>(<span class="keywordtype">int</span>) { <span class="comment">// Postincrement</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>       <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> tmp = *<span class="keyword">this</span>; ++*<span class="keyword">this</span>; <span class="keywordflow">return</span> tmp;</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>   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     <span class="keywordtype">void</span> MoveToNextPiece();</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> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="comment">// RopePieceBTree Class</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html">  155</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> {</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordtype">void</span> <span class="comment">/*RopePieceBTreeNode*/</span> *Root;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>     <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree</a>();</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> &RHS);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     <a class="code" href="classclang_1_1RopePieceBTree.html#a2d57e33c075c95f38ebe02b23cd34aa7">~RopePieceBTree</a>();</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">  163</a></span>     <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> <a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">iterator</a>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#afb3df35f56905c8818ec9bdf729d43cc">  164</a></span>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RopePieceBTree.html#afb3df35f56905c8818ec9bdf729d43cc">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">iterator</a>(Root); }</div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#ad364014d940bbbf51653d7082ff598df">  165</a></span>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RopePieceBTree.html#ad364014d940bbbf51653d7082ff598df">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">iterator</a>(); }</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a4713952d84c3ece3e23191953e78670a">  167</a></span>     <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a4713952d84c3ece3e23191953e78670a">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">size</a>() == 0; }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">clear</a>();</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</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>     <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">erase</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   };</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <span class="comment">// RewriteRope Class</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">/// RewriteRope - A powerful string class.  This class supports extremely</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment">/// efficient insertions and deletions into the middle of it, even for</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment">/// ridiculously long strings.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html">  183</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1RewriteRope.html">RewriteRope</a> {</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> Chunks;</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">  186</span> <span class="comment">  /// We allocate space for string data out of a buffer of size AllocChunkSize.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="comment">  /// This keeps track of how much space is left.</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="comment"></span>  <a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *AllocBuffer;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <span class="keywordtype">unsigned</span> AllocOffs;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   <span class="keyword">enum</span> { AllocChunkSize = 4080 };</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="keyword">public</span>:</div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a870a3b45a56c6b8f78f95a87803015f2">  193</a></span>   <a class="code" href="classclang_1_1RewriteRope.html#a870a3b45a56c6b8f78f95a87803015f2">RewriteRope</a>() :  AllocBuffer(0), AllocOffs(AllocChunkSize) {}</div>
+<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a55b10c882669fec91404b2be8c82fe63">  194</a></span>   <a class="code" href="classclang_1_1RewriteRope.html#a870a3b45a56c6b8f78f95a87803015f2">RewriteRope</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteRope.html">RewriteRope</a> &RHS)</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>     : Chunks(RHS.Chunks), AllocBuffer(0), AllocOffs(AllocChunkSize) {</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_1RewriteRope.html#a5a13e09e8e5c672df51f68174328585e">  198</a></span>   <a class="code" href="classclang_1_1RewriteRope.html#a5a13e09e8e5c672df51f68174328585e">~RewriteRope</a>() {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     <span class="comment">// If we had an allocation buffer, drop our reference to it.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <span class="keywordflow">if</span> (AllocBuffer)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>       AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>();</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>   }</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#ae13d56c69500be8d3a7b24d3c1bb7962">  204</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTree::iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#ae13d56c69500be8d3a7b24d3c1bb7962">iterator</a>;</div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a358dfecdaa039e0e3e0e2e0ac9944a4d">  205</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTree::iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#a358dfecdaa039e0e3e0e2e0ac9944a4d">const_iterator</a>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#aad8bd9ca4de176867327c6aa76cb0b41">  206</a></span>   <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#aad8bd9ca4de176867327c6aa76cb0b41">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#afb3df35f56905c8818ec9bdf729d43cc">begin</a>(); }</div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a27b55fba74630e22e3b7cde770795d8f">  207</a></span>   <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#a27b55fba74630e22e3b7cde770795d8f">end</a>()<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#ad364014d940bbbf51653d7082ff598df">end</a>(); }</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">  208</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">size</a>(); }</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a8c2ea1c677ebdfc47c14c0fae26f399f">  210</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a8c2ea1c677ebdfc47c14c0fae26f399f">clear</a>() {</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>     Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">clear</a>();</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   }</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a848c03f869acfc41696c1de2f2c44039">  214</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a848c03f869acfc41696c1de2f2c44039">assign</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End) {</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>     <a class="code" href="classclang_1_1RewriteRope.html#a8c2ea1c677ebdfc47c14c0fae26f399f">clear</a>();</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>     <span class="keywordflow">if</span> (Start != End)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>       Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(0, MakeRopeString(Start, End));</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_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">  220</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">insert</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End) {</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     assert(Offset <= <a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>() && <span class="stringliteral">"Invalid position to insert!"</span>);</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>     <span class="keywordflow">if</span> (Start == End) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(Offset, MakeRopeString(Start, End));</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> </div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">  226</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>     assert(Offset+NumBytes <= <a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>() && <span class="stringliteral">"Invalid region to erase!"</span>);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <span class="keywordflow">if</span> (NumBytes == 0) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">erase</a>(Offset, NumBytes);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   }</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> MakeRopeString(<span class="keyword">const</span> <span class="keywordtype">char</span> *Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End);</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> };</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> } <span class="comment">// end namespace clang</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="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteTest_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,118 @@
+<!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: RewriteTest.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">RewriteTest.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteTest_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">//===--- RewriteTest.cpp - Rewriter playground ----------------------------===//</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 is a testbed.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2Rewriters_8h.html">clang/Rewrite/Frontend/Rewriters.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="TokenRewriter_8h.html">clang/Rewrite/Core/TokenRewriter.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995">   19</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995" title="DoRewriteTest - A simple test for the TokenRewriter class.">clang::DoRewriteTest</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP, raw_ostream* OS) {</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>   <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a> = PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>();</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts = PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>();</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>   <a class="code" href="classclang_1_1TokenRewriter.html">TokenRewriter</a> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>(SM.<a class="code" href="classclang_1_1SourceManager.html#ad3ac47ab7380c82d19243a2db765479c" title="Returns the FileID of the main source file.">getMainFileID</a>(), <a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, LangOpts);</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="comment">// Throw <i> </i> tags around comments.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1TokenRewriter.html#a0b46b6b4a2e38c3635962c1eaafa18d7">TokenRewriter::token_iterator</a> I = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_begin(),</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>        E = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_end(); I != E; ++I) {</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>     <span class="keywordflow">if</span> (I->isNot(tok::comment)) <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>     <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.AddTokenBefore(I, <span class="stringliteral">"<i>"</span>);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>     <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.AddTokenAfter(I, <span class="stringliteral">"</i>"</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> </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="comment">// Print out the output.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1TokenRewriter.html#a0b46b6b4a2e38c3635962c1eaafa18d7">TokenRewriter::token_iterator</a> I = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_begin(),</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>        E = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_end(); I != E; ++I)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     *OS << PP.<a class="code" href="classclang_1_1Preprocessor.html#a000147976c13c269dd82ef645fa3fe35">getSpelling</a>(*I);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteTest_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,325 @@
+<!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: RewriteTest.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_bacd97c81f21ffbc7c5c7e20967dca49.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">RewriteTest.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteTest_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/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a153bd49478d419c624847bcc17dd7d43" title="Rewriter playground.">RewriteTest</a>.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a153bd49478d419c624847bcc17dd7d43" title="Rewriter playground.">RewriteTest</a>.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  RewriteTest.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/TokenRewriter.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h:</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/TokenRewriter.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewrite_2Frontend_2ASTConsumers_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2ASTConsumers_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2ASTConsumers_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2ASTConsumers_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,128 @@
+<!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: ASTConsumers.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_e74af7481ee354279e73415b7023815d.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewrite/Frontend/ASTConsumers.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2ASTConsumers_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">//===--- ASTConsumers.h - ASTConsumer implementations -----------*- 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">// AST Consumers.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#ifndef REWRITE_ASTCONSUMERS_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="preprocessor">#define REWRITE_ASTCONSUMERS_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</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="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">class </span>ASTConsumer;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">class </span>DiagnosticsEngine;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">class </span>LangOptions;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">class </span>Preprocessor;</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="comment">// ObjC rewriter: attempts to rewrite ObjC constructs into pure C code.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">// This is considered experimental, and only works with Apple's ObjC runtime.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> ASTConsumer *<a class="code" href="namespaceclang.html#ac3c383e2e16e8a8bcd64007af1d05a98">CreateObjCRewriter</a>(<span class="keyword">const</span> std::string &InFile,</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>                                 raw_ostream *OS,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>                                 DiagnosticsEngine &Diags,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>                                 <span class="keyword">const</span> LangOptions &LOpts,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>                                 <span class="keywordtype">bool</span> SilenceRewriteMacroWarning);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> ASTConsumer *<a class="code" href="namespaceclang.html#a5fef6571824774aec6d05eda188628ea">CreateModernObjCRewriter</a>(<span class="keyword">const</span> std::string &InFile,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>                                 raw_ostream *OS,</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>                                 DiagnosticsEngine &Diags,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>                                 <span class="keyword">const</span> LangOptions &LOpts,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>                                 <span class="keywordtype">bool</span> SilenceRewriteMacroWarning,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>                                 <span class="keywordtype">bool</span> LineInfo);</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">/// CreateHTMLPrinter - Create an AST consumer which rewrites source code to</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">/// HTML with syntax highlighting suitable for viewing in a web-browser.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment"></span>ASTConsumer *<a class="code" href="namespaceclang.html#a9ea6dea316238476300e8c4451c72047">CreateHTMLPrinter</a>(raw_ostream *OS, Preprocessor &PP,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>                                <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1html.html#a28154ac13d21b98ad724f95172359b24">SyntaxHighlight</a> = <span class="keyword">true</span>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>                                <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1html.html#a3283736376c3e436ff65975acdb1d399">HighlightMacros</a> = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> } <span class="comment">// end clang namespace</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:12 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/Rewrite_2Frontend_2FrontendActions_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,271 @@
+<!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: FrontendActions.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewrite/Frontend/FrontendActions.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2FrontendActions_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">//===--- FrontendActions.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="Rewrite_2Frontend_2FrontendActions_8h.html">clang/Rewrite/Frontend/FrontendActions.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="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#include "<a class="code" href="CompilerInstance_8h.html">clang/Frontend/CompilerInstance.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</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="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="FrontendDiagnostic_8h.html">clang/Frontend/FrontendDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Parse_2Parser_8h.html">clang/Parse/Parser.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2ASTConsumers_8h.html">clang/Rewrite/Frontend/ASTConsumers.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="FixItRewriter_8h.html">clang/Rewrite/Frontend/FixItRewriter.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2Rewriters_8h.html">clang/Rewrite/Frontend/Rewriters.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</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">using namespace </span>clang;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">// AST Consumer Actions</span></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> </div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="classclang_1_1HTMLPrintAction.html#a71e0805ffc3c3adca487e9294d67ed6d">   33</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1HTMLPrintAction.html#a71e0805ffc3c3adca487e9294d67ed6d" title="Create the AST consumer object for this action, if supported.">HTMLPrintAction::CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>                                                 StringRef InFile) {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keywordflow">if</span> (raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">false</span>, InFile))</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ea6dea316238476300e8c4451c72047">CreateHTMLPrinter</a>(OS, CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>());</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordflow">return</span> 0;</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> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a7eeb75f6330167c60f6446d8b04ffb08">   40</a></span> <a class="code" href="classclang_1_1FixItAction.html#a7eeb75f6330167c60f6446d8b04ffb08">FixItAction::FixItAction</a>() {}</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a05112e21a4a71e8f157efb96bd675b94">   41</a></span> <a class="code" href="classclang_1_1FixItAction.html#a05112e21a4a71e8f157efb96bd675b94">FixItAction::~FixItAction</a>() {}</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a62a5f2a119343fc8771359afaf0a2a95">   43</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1FixItAction.html#a62a5f2a119343fc8771359afaf0a2a95" title="Create the AST consumer object for this action, if supported.">FixItAction::CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>                                             StringRef InFile) {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a>();</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> }</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="keyword">class </span>FixItRewriteInPlace : <span class="keyword">public</span> <a class="code" href="classclang_1_1FixItOptions.html">FixItOptions</a> {</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   std::string RewriteFilename(<span class="keyword">const</span> std::string &Filename, <span class="keywordtype">int</span> &fd) {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     fd = -1;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>     <span class="keywordflow">return</span> Filename;</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">   57</span> <span class="keyword">class </span>FixItActionSuffixInserter : <span class="keyword">public</span> <a class="code" href="classclang_1_1FixItOptions.html">FixItOptions</a> {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   std::string NewSuffix;</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> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   FixItActionSuffixInserter(std::string NewSuffix, <span class="keywordtype">bool</span> FixWhatYouCan)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>     : NewSuffix(NewSuffix) {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>       this->FixWhatYouCan = FixWhatYouCan;</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> </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   std::string RewriteFilename(<span class="keyword">const</span> std::string &Filename, <span class="keywordtype">int</span> &fd) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     fd = -1;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Path(Filename);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     llvm::sys::path::replace_extension(Path,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>       NewSuffix + llvm::sys::path::extension(Path));</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     <span class="keywordflow">return</span> Path.str();</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> };</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="keyword">class </span>FixItRewriteToTemp : <span class="keyword">public</span> <a class="code" href="classclang_1_1FixItOptions.html">FixItOptions</a> {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   std::string RewriteFilename(<span class="keyword">const</span> std::string &Filename, <span class="keywordtype">int</span> &fd) {</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Path;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     llvm::sys::fs::createTemporaryFile(llvm::sys::path::filename(Filename),</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>                                        llvm::sys::path::extension(Filename), fd,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>                                        Path);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     <span class="keywordflow">return</span> Path.str();</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   }</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> };</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a09952380a46cf6a7002700865e6ff821">   87</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItAction.html#a09952380a46cf6a7002700865e6ff821" title="Callback at the start of processing a single input.">FixItAction::BeginSourceFileAction</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                         StringRef Filename) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>().<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>();</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="keywordflow">if</span> (!FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a989c7ac9b0e522365f41e6e1e48d6d96" title="If given, the new suffix for fix-it rewritten files.">FixItSuffix</a>.empty()) {</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>.reset(<span class="keyword">new</span> FixItActionSuffixInserter(FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a989c7ac9b0e522365f41e6e1e48d6d96" title="If given, the new suffix for fix-it rewritten files.">FixItSuffix</a>,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                                                   FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#abf8ce49690645f7154bb63125c33925c">FixWhatYouCan</a>));</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>     <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>.reset(<span class="keyword">new</span> FixItRewriteInPlace);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>->FixWhatYouCan = FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#abf8ce49690645f7154bb63125c33925c">FixWhatYouCan</a>;</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_1Rewriter.html">Rewriter</a>.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1FixItRewriter.html">FixItRewriter</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(),</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>                                    CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>.get()));</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a768f42f2350b0c1275e69cc96f4a2e32">  102</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1FixItAction.html#a768f42f2350b0c1275e69cc96f4a2e32" title="Callback at the end of processing a single input.">FixItAction::EndSourceFileAction</a>() {</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="comment">// Otherwise rewrite all files.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>->WriteFixedFiles();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> }</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="classclang_1_1FixItRecompile.html#ad8b1897921d72c3f208fea501f1fadd3">  107</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItRecompile.html#ad8b1897921d72c3f208fea501f1fadd3" title="Callback before starting processing a single input, giving the opportunity to modify the CompilerInvo...">FixItRecompile::BeginInvocation</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI) {</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>   std::vector<std::pair<std::string, std::string> > RewrittenFiles;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="keywordtype">bool</span> err = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   {</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>();</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FrontendAction></a> FixAction(<span class="keyword">new</span> <a class="code" href="classclang_1_1SyntaxOnlyAction.html">SyntaxOnlyAction</a>());</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     <span class="keywordflow">if</span> (FixAction->BeginSourceFile(CI, FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a95a3f648ae866e50b78434e049d87218" title="The input files and their types.">Inputs</a>[0])) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>       <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FixItOptions></a> FixItOpts;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       <span class="keywordflow">if</span> (FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a53835c4307d3ba5be03d5eea51bc6602" title="Apply fixes to temporary files.">FixToTemporaries</a>)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>         FixItOpts.reset(<span class="keyword">new</span> FixItRewriteToTemp());</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>         FixItOpts.reset(<span class="keyword">new</span> FixItRewriteInPlace());</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>       FixItOpts->Silent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       FixItOpts->FixWhatYouCan = FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#abf8ce49690645f7154bb63125c33925c">FixWhatYouCan</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>       FixItOpts->FixOnlyWarnings = FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a7550122c0b8b4537b74c9b7ffbef0396" title="Apply fixes only for warnings.">FixOnlyWarnings</a>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       <a class="code" href="classclang_1_1FixItRewriter.html">FixItRewriter</a> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(),</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>                              CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), FixItOpts.get());</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>       FixAction->Execute();</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>       err = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.WriteFixedFiles(&RewrittenFiles);</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>       FixAction->EndSourceFile();</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>       CI.<a class="code" href="classclang_1_1CompilerInstance.html#a08d4c3c5277d0a97f2ae6e87ea7f6d68" title="setSourceManager - Replace the current source manager.">setSourceManager</a>(0);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       CI.<a class="code" href="classclang_1_1CompilerInstance.html#a00535f0955b58840431fd633f856cdc4" title="setFileManager - Replace the current file manager.">setFileManager</a>(0);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>       err = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     }</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>   }</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   <span class="keywordflow">if</span> (err)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   CI.<a class="code" href="classclang_1_1CompilerInstance.html#abc5c9a3f1747d0c8f76c0238569b972d">getDiagnosticClient</a>().<a class="code" href="classclang_1_1DiagnosticConsumer.html#a30bce2dd5e959ad7f6b31317ef84949e">clear</a>();</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   CI.<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#a0e230f0a2fffbc40b97a9971e6b3939f" title="Reset the state of the diagnostic object to its initial configuration.">Reset</a>();</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_1PreprocessorOptions.html">PreprocessorOptions</a> &PPOpts = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a11b97305b8df1f4e76020ff6af11acbc" title="The set of file remappings, which take existing files on the system (the first part of each pair) and...">RemappedFiles</a>.insert(PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a11b97305b8df1f4e76020ff6af11acbc" title="The set of file remappings, which take existing files on the system (the first part of each pair) and...">RemappedFiles</a>.end(),</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                               RewrittenFiles.begin(), RewrittenFiles.end());</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a30f576ae311b7fd39a265a41ab6ab09c" title="True if the SourceManager should report the original file name for contents of files that were remapp...">RemappedFilesKeepOriginalName</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   <span class="keywordflow">return</span> <span class="keyword">true</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">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment">// Preprocessor Actions</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> <span class="comment">//===----------------------------------------------------------------------===//</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"><a class="code" href="classclang_1_1RewriteObjCAction.html#a628b3924c53aa8cbc221ea02f1fe4fee">  153</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1RewriteObjCAction.html#a628b3924c53aa8cbc221ea02f1fe4fee" title="Create the AST consumer object for this action, if supported.">RewriteObjCAction::CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                                                   StringRef InFile) {</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   <span class="keywordflow">if</span> (raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">false</span>, InFile, <span class="stringliteral">"cpp"</span>)) {</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">if</span> (CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>().<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#a5523ca4491b7915e32c02d98a491505e" title="Does this runtime follow the set of implied behaviors for a "non-fragile" ABI?">isNonFragile</a>())</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a5fef6571824774aec6d05eda188628ea">CreateModernObjCRewriter</a>(InFile, OS,</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>                                 CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(),</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>                                 CI.<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>().NoRewriteMacros,</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>                                 (CI.<a class="code" href="classclang_1_1CompilerInstance.html#a06174bfe2d28784f7b092e9b74bc3583">getCodeGenOpts</a>().getDebugInfo() !=</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>                                  <a class="code" href="classclang_1_1CodeGenOptions.html#ab49a2a2a0a68577a07a9c0b730fb3cf6a92d75b29d3c936f01974b7b291b59fad">CodeGenOptions::NoDebugInfo</a>));</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#ac3c383e2e16e8a8bcd64007af1d05a98">CreateObjCRewriter</a>(InFile, OS,</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>                               CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(),</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>                               CI.<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>().NoRewriteMacros);</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">return</span> 0;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteMacrosAction.html#a91e79c1642c8946c6c3fcaa7cea80d6b">  169</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteMacrosAction.html#a91e79c1642c8946c6c3fcaa7cea80d6b" title="Callback to run the program action, using the initialized compiler instance.">RewriteMacrosAction::ExecuteAction</a>() {</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>   <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>();</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">true</span>, <a class="code" href="classclang_1_1FrontendAction.html#a158b2451eb14907f78c272dde7babe09">getCurrentFile</a>());</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   <span class="keywordflow">if</span> (!OS) <span class="keywordflow">return</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>   <a class="code" href="namespaceclang.html#ae38a4844c6e874aa9dccd9725d991a1f" title="RewriteMacrosInInput - Implement -rewrite-macros mode.">RewriteMacrosInInput</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), OS);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> }</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteTestAction.html#a806367e34356d95fd370efdc8f088e09">  177</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteTestAction.html#a806367e34356d95fd370efdc8f088e09" title="Callback to run the program action, using the initialized compiler instance.">RewriteTestAction::ExecuteAction</a>() {</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>();</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>   raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">false</span>, <a class="code" href="classclang_1_1FrontendAction.html#a158b2451eb14907f78c272dde7babe09">getCurrentFile</a>());</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   <span class="keywordflow">if</span> (!OS) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   <a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995" title="DoRewriteTest - A simple test for the TokenRewriter class.">DoRewriteTest</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), OS);</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> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteIncludesAction.html#a9a0974e5032f2738536527ea4d5bc346">  185</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteIncludesAction.html#a9a0974e5032f2738536527ea4d5bc346" title="Callback to run the program action, using the initialized compiler instance.">RewriteIncludesAction::ExecuteAction</a>() {</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>();</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">true</span>, <a class="code" href="classclang_1_1FrontendAction.html#a158b2451eb14907f78c272dde7babe09">getCurrentFile</a>());</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="keywordflow">if</span> (!OS) <span class="keywordflow">return</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>   <a class="code" href="namespaceclang.html#acf0e4862883729dd0295ca9b62f568da" title="RewriteIncludesInInput - Implement -frewrite-includes mode.">RewriteIncludesInInput</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), OS,</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>                          CI.<a class="code" href="classclang_1_1CompilerInstance.html#ad37f8efd6888104972ff208ecb31b03d">getPreprocessorOutputOpts</a>());</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/Rewrite_2Frontend_2FrontendActions_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,162 @@
+<!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: FrontendActions.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_e74af7481ee354279e73415b7023815d.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewrite/Frontend/FrontendActions.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2FrontendActions_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">//===-- FrontendActions.h - Useful Frontend Actions -------------*- 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_REWRITE_FRONTENDACTIONS_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_REWRITE_FRONTENDACTIONS_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="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="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="keyword">class </span>FixItRewriter;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">class </span>FixItOptions;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment">// AST Consumer Actions</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment">//===----------------------------------------------------------------------===//</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"><a class="code" href="classclang_1_1HTMLPrintAction.html">   23</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1HTMLPrintAction.html">HTMLPrintAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ASTFrontendAction.html" title="Abstract base class to use for AST consumer-based frontend actions.">ASTFrontendAction</a> {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1HTMLPrintAction.html#a71e0805ffc3c3adca487e9294d67ed6d" title="Create the AST consumer object for this action, if supported.">CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>                                          StringRef InFile);</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> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html">   29</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1FixItAction.html">FixItAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ASTFrontendAction.html" title="Abstract base class to use for AST consumer-based frontend actions.">ASTFrontendAction</a> {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a738daf9c0799c6cca1ffcee6a03849d7">   31</a></span>   <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FixItRewriter></a> <a class="code" href="classclang_1_1FixItAction.html#a738daf9c0799c6cca1ffcee6a03849d7">Rewriter</a>;</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">   32</a></span>   <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FixItOptions></a> <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>;</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">virtual</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1FixItAction.html#a62a5f2a119343fc8771359afaf0a2a95" title="Create the AST consumer object for this action, if supported.">CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>                                          StringRef InFile);</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="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItAction.html#a09952380a46cf6a7002700865e6ff821" title="Callback at the start of processing a single input.">BeginSourceFileAction</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>                                      StringRef Filename);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1FixItAction.html#a768f42f2350b0c1275e69cc96f4a2e32" title="Callback at the end of processing a single input.">EndSourceFileAction</a>();</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#abcaf228b7781ea89a79dea364a20e4dc">   42</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItAction.html#abcaf228b7781ea89a79dea364a20e4dc" title="Does this action support use with AST files?">hasASTFileSupport</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <a class="code" href="classclang_1_1FixItAction.html#a7eeb75f6330167c60f6446d8b04ffb08">FixItAction</a>();</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <a class="code" href="classclang_1_1FixItAction.html#a05112e21a4a71e8f157efb96bd675b94">~FixItAction</a>();</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> };</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">/// \brief Emits changes to temporary files and uses them for the original</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">/// frontend action.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="classclang_1_1FixItRecompile.html">   51</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1FixItRecompile.html" title="Emits changes to temporary files and uses them for the original frontend action.">FixItRecompile</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1WrapperFrontendAction.html" title="A frontend action which simply wraps some other runtime-specified frontend action.">WrapperFrontendAction</a> {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1FixItRecompile.html#aa63cd5ece3d150b22bde504bd04c0d13">   53</a></span>   <a class="code" href="classclang_1_1FixItRecompile.html#aa63cd5ece3d150b22bde504bd04c0d13">FixItRecompile</a>(<a class="code" href="classclang_1_1FrontendAction.html" title="Abstract base class for actions which can be performed by the frontend.">FrontendAction</a> *WrappedAction)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>     : <a class="code" href="classclang_1_1WrapperFrontendAction.html" title="A frontend action which simply wraps some other runtime-specified frontend action.">WrapperFrontendAction</a>(WrappedAction) {}</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItRecompile.html#ad8b1897921d72c3f208fea501f1fadd3" title="Callback before starting processing a single input, giving the opportunity to modify the CompilerInvo...">BeginInvocation</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI);</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> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteObjCAction.html">   60</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteObjCAction.html">RewriteObjCAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ASTFrontendAction.html" title="Abstract base class to use for AST consumer-based frontend actions.">ASTFrontendAction</a> {</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1RewriteObjCAction.html#a628b3924c53aa8cbc221ea02f1fe4fee" title="Create the AST consumer object for this action, if supported.">CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>                                          StringRef InFile);</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> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteMacrosAction.html">   66</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteMacrosAction.html">RewriteMacrosAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PreprocessorFrontendAction.html" title="Abstract base class to use for preprocessor-based frontend actions.">PreprocessorFrontendAction</a> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteMacrosAction.html#a91e79c1642c8946c6c3fcaa7cea80d6b" title="Callback to run the program action, using the initialized compiler instance.">ExecuteAction</a>();</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> </div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteTestAction.html">   71</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteTestAction.html">RewriteTestAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PreprocessorFrontendAction.html" title="Abstract base class to use for preprocessor-based frontend actions.">PreprocessorFrontendAction</a> {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteTestAction.html#a806367e34356d95fd370efdc8f088e09" title="Callback to run the program action, using the initialized compiler instance.">ExecuteAction</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_1RewriteIncludesAction.html">   76</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteIncludesAction.html">RewriteIncludesAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PreprocessorFrontendAction.html" title="Abstract base class to use for preprocessor-based frontend actions.">PreprocessorFrontendAction</a> {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteIncludesAction.html#a9a0974e5032f2738536527ea4d5bc346" title="Callback to run the program action, using the initialized compiler instance.">ExecuteAction</a>();</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> };</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> }  <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,661 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: FrontendActions.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_bacd97c81f21ffbc7c5c7e20967dca49.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewrite/Frontend/Release+Asserts/FrontendActions.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_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/Rewrite/Frontend/Release+Asserts/FrontendActions.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/Release+Asserts/FrontendActions.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  FrontendActions.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FrontendActions.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.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/OwningPtr.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInstance.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInvocation.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/DependencyOutputOptions.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/LangStandard.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/LangStandards.def \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/MigratorOptions.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/PreprocessorOutputOptions.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendActions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendDiagnostic.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticFrontendKinds.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Parse/Parser.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorPrecedence.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/CodeCompletionHandler.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>  /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>  /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FixItRewriter.h \</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Edit/EditedSource.h \</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Edit/FileOffset.h \</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h \</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.h \</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h \</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>  /home/tstellar/llvm/include/llvm/Support/Path.h</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FrontendActions.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/Rewrite/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="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/Rewrite/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="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def:</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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendOptions.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CommandLineSourceLoc.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/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.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/SmallVector.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/raw_ostream.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/OwningPtr.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/ADT/SmallString.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/TimeValue.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/system_error.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.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/Rewrite/Frontend/../../../include/clang/Basic/FileManager.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/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.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/DenseMapInfo.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/Support/PointerLikeTypeTraits.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInstance.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.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/ArrayRef.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.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/DenseSet.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/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> /home/tstellar/llvm/include/llvm-c/Core.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/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInvocation.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/Rewrite/Frontend/../../../include/clang/Basic/TargetOptions.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/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/DependencyOutputOptions.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/Rewrite/Frontend/../../../include/clang/Frontend/LangStandard.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/Rewrite/Frontend/../../../include/clang/Frontend/LangStandards.def:</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/Rewrite/Frontend/../../../include/clang/Frontend/MigratorOptions.h:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/PreprocessorOutputOptions.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.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/Rewrite/Frontend/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Rewrite/Frontend/../../../include/clang/Basic/Module.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/Rewrite/Frontend/../../../include/clang/Frontend/FrontendActions.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/Rewrite/Frontend/../../../include/clang/Frontend/FrontendDiagnostic.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticFrontendKinds.inc:</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/Rewrite/Frontend/../../../include/clang/Frontend/Utils.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def:</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/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.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/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def:</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/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def:</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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/Rewrite/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="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/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h:</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/Rewrite/Frontend/../../../include/clang/Parse/Parser.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/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.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/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def:</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/Rewrite/Frontend/../../../include/clang/Basic/OperatorPrecedence.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/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/CodeCompletionHandler.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/DeclSpec.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/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/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="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/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttributeList.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/Rewrite/Frontend/../../../include/clang/Sema/Ownership.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/Rewrite/Frontend/../../../include/clang/Sema/AttrParsedAttrList.inc:</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/Rewrite/Frontend/../../../include/clang/Sema/Sema.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/Rewrite/Frontend/../../../include/clang/AST/Attr.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/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.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/Rewrite/Frontend/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.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/Rewrite/Frontend/../../../include/clang/AST/DeclBase.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/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.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/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.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/include/llvm/ADT/STLExtras.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/include/llvm/Support/PrettyStackTrace.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/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc:</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/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.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/Rewrite/Frontend/../../../include/clang/AST/CharUnits.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/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Type.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/Rewrite/Frontend/../../../include/clang/AST/TemplateName.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/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.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/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc:</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/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc:</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/Rewrite/Frontend/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.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/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.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/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.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/Rewrite/Frontend/../../../include/clang/AST/Stmt.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/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.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/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.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/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.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/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> </div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.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/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.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/Rewrite/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="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/Rewrite/Frontend/../../../include/clang/AST/MangleNumberingContext.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/Rewrite/Frontend/../../../include/clang/AST/NSAPI.h:</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.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/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.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/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def:</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/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.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/Rewrite/Frontend/../../../include/clang/Sema/AnalysisBasedWarnings.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/Rewrite/Frontend/../../../include/clang/Sema/ExternalSemaSource.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/Rewrite/Frontend/../../../include/clang/Sema/TypoCorrection.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/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.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/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.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/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.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/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.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/Rewrite/Frontend/../../../include/clang/Sema/Weak.h:</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.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/Rewrite/Frontend/../../../include/clang/Sema/IdentifierResolver.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/Rewrite/Frontend/../../../include/clang/Sema/LocInfoType.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/Rewrite/Frontend/../../../include/clang/Sema/ObjCMethodList.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/Rewrite/Frontend/../../../include/clang/Sema/ScopeInfo.h:</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> </div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h:</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> </div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.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/include/llvm/MC/MCParser/MCAsmLexer.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/include/llvm/Support/SMLoc.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/include/llvm/Support/SaveAndRestore.h:</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h:</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> </div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FixItRewriter.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/Rewrite/Frontend/../../../include/clang/Edit/EditedSource.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/Rewrite/Frontend/../../../include/clang/Edit/FileOffset.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/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.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/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.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/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.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/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h:</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/Rewrite_2Frontend_2Rewriters_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Rewriters_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Rewriters_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Rewriters_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,114 @@
+<!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: Rewriters.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_e74af7481ee354279e73415b7023815d.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewrite/Frontend/Rewriters.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2Rewriters_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">//===--- Rewriters.h - Rewriter implementations     -------------*- 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 header contains miscellaneous utilities for various front-end actions.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITE_REWRITERS_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITE_REWRITERS_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</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="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">class </span>Preprocessor;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">class </span>PreprocessorOutputOptions;</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">/// RewriteMacrosInInput - Implement -rewrite-macros mode.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#ae38a4844c6e874aa9dccd9725d991a1f" title="RewriteMacrosInInput - Implement -rewrite-macros mode.">RewriteMacrosInInput</a>(Preprocessor &PP, raw_ostream *OS);</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">/// DoRewriteTest - A simple test for the TokenRewriter class.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995" title="DoRewriteTest - A simple test for the TokenRewriter class.">DoRewriteTest</a>(Preprocessor &PP, raw_ostream *OS);</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment"></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">/// RewriteIncludesInInput - Implement -frewrite-includes mode.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#acf0e4862883729dd0295ca9b62f568da" title="RewriteIncludesInInput - Implement -frewrite-includes mode.">RewriteIncludesInInput</a>(Preprocessor &PP, raw_ostream *OS,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>                             <span class="keyword">const</span> PreprocessorOutputOptions &Opts);</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="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewriter_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,568 @@
+<!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: Rewriter.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewriter.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewriter_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">//===--- Rewriter.cpp - Code rewriting interface --------------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines the Rewriter class, which is used for code</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  transformations.</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="Rewriter_8h.html">clang/Rewrite/Core/Rewriter.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="PrettyPrinter_8h.html">clang/AST/PrettyPrinter.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Stmt_8h.html">clang/AST/Stmt.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticIDs_8h.html" title="Defines the Diagnostic IDs-related interfaces.">clang/Basic/DiagnosticIDs.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</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="l00021"></a><span class="lineno">   21</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="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9">   28</a></span> raw_ostream &<a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9" title="Write to Stream the result of applying all changes to the original buffer. Note that it isn't safe to...">RewriteBuffer::write</a>(raw_ostream &os)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="comment">// FIXME: eliminate the copy by writing out each chunk at a time</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   os << std::string(<a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>(), <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>());</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   <span class="keywordflow">return</span> os;</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="comment"></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// \brief Return true if this character is non-new-line whitespace:</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// ' ', '\\t', '\\f', '\\v', '\\r'.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="Rewriter_8cpp.html#a9a67bbe624e7e5f8957e59974212750b">   36</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c) {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordflow">switch</span> (c) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keywordflow">case</span> <span class="charliteral">' '</span>:</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keywordflow">case</span> <span class="charliteral">'\t'</span>:</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keywordflow">case</span> <span class="charliteral">'\f'</span>:</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keywordflow">case</span> <span class="charliteral">'\v'</span>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keywordflow">case</span> <span class="charliteral">'\r'</span>:</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   }</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> }</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9">   49</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9" title="RemoveText - Remove the specified text.">RewriteBuffer::RemoveText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> Size,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>                                <span class="keywordtype">bool</span> removeLineIfEmpty) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="comment">// Nothing to remove, exit early.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="keywordflow">if</span> (Size == 0) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="keywordtype">unsigned</span> RealOffset = getMappedOffset(OrigOffset, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   assert(RealOffset+Size < Buffer.<a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>() && <span class="stringliteral">"Invalid location"</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">   57</span>   <span class="comment">// Remove the dead characters.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(RealOffset, Size);</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>   <span class="comment">// Add a delta so that future changes are offset correctly.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   AddReplaceDelta(OrigOffset, -Size);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   <span class="keywordflow">if</span> (removeLineIfEmpty) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>     <span class="comment">// Find the line that the remove occurred and if it is completely empty</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>     <span class="comment">// remove the line as well.</span></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>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> curLineStart = <a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <span class="keywordtype">unsigned</span> curLineStartOffs = 0;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> posI = <a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>();</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RealOffset; ++i) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>       <span class="keywordflow">if</span> (*posI == <span class="charliteral">'\n'</span>) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>         curLineStart = posI;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>         ++curLineStart;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>         curLineStartOffs = i + 1;</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>       ++posI;</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">   79</span>     <span class="keywordtype">unsigned</span> lineSize = 0;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     posI = curLineStart;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keywordflow">while</span> (posI != <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>() && <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(*posI)) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>       ++posI;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>       ++lineSize;</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="keywordflow">if</span> (posI != <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>() && *posI == <span class="charliteral">'\n'</span>) {</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>       Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(curLineStartOffs, lineSize + 1<span class="comment">/* + '\n'*/</span>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>       AddReplaceDelta(curLineStartOffs, -(lineSize + 1<span class="comment">/* + '\n'*/</span>));</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     }</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   }</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> }</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_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">   92</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">RewriteBuffer::InsertText</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>                                <span class="keywordtype">bool</span> InsertAfter) {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="comment">// Nothing to insert, exit early.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="keywordflow">if</span> (Str.empty()) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="keywordtype">unsigned</span> RealOffset = getMappedOffset(OrigOffset, InsertAfter);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">insert</a>(RealOffset, Str.begin(), Str.end());</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="comment">// Add a delta so that future changes are offset correctly.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   AddInsertDelta(OrigOffset, Str.size());</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> }</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment">/// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">/// buffer with a new string.  This is effectively a combined "remove+insert"</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">/// operation.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">  108</a></span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">RewriteBuffer::ReplaceText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>                                 StringRef NewStr) {</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="keywordtype">unsigned</span> RealOffset = getMappedOffset(OrigOffset, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(RealOffset, OrigLength);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">insert</a>(RealOffset, NewStr.begin(), NewStr.end());</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>   <span class="keywordflow">if</span> (OrigLength != NewStr.size())</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     AddReplaceDelta(OrigOffset, NewStr.size() - OrigLength);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> }</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </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">// Rewriter class</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"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment">/// getRangeSize - Return the size in bytes of the specified range if they</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment">/// are in the same file.  If not, this returns -1.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a96305d128d7ebe91841ed6a1b8ca0ae4">  124</a></span> <span class="comment"></span><span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">Rewriter::getRangeSize</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &Range,</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>                            <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>()) ||</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>       !<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>())) <span class="keywordflow">return</span> -1;</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>   <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> StartFileID, EndFileID;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   <span class="keywordtype">unsigned</span> StartOff, EndOff;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   StartOff = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), StartFileID);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   EndOff   = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), EndFileID);</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="keywordflow">if</span> (StartFileID != EndFileID)</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordflow">return</span> -1;</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="comment">// If edits have been made to this buffer, the delta between the range may</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <span class="comment">// have changed.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   std::map<FileID, RewriteBuffer>::const_iterator I =</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     RewriteBuffers.find(StartFileID);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <span class="keywordflow">if</span> (I != RewriteBuffers.end()) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &RB = I->second;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     EndOff = RB.getMappedOffset(EndOff, opts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c" title="Given a source range, true to include previous inserts at the end of the range as part of the range i...">IncludeInsertsAtEndOfRange</a>);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     StartOff = RB.getMappedOffset(StartOff, !opts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a>);</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">// Adjust the end offset to the end of the last token, instead of being the</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="comment">// start of the last token if this is a token range.</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1CharSourceRange.html#a9bc337ba1c6e4e47e0f997196525d12f" title="Return true if the end of this range specifies the start of the last token. Return false if the end o...">isTokenRange</a>())</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     EndOff += <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), *SourceMgr, *LangOpts);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <span class="keywordflow">return</span> EndOff-StartOff;</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_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">  157</a></span> <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">Rewriter::getRangeSize</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range, <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(Range), opts);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> }</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment"></span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment">/// getRewrittenText - Return the rewritten form of the text in the specified</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment">/// range.  If the start or end of the range was unrewritable or if they are</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">/// in different buffers, this returns an empty string.</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">/// Note that this method is not particularly efficient.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a72e4d3d6e25b62a3d173dc7c030e1c09">  168</a></span> <span class="comment"></span>std::string <a class="code" href="classclang_1_1Rewriter.html#a72e4d3d6e25b62a3d173dc7c030e1c09">Rewriter::getRewrittenText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>()) ||</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>       !<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>()))</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <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> StartFileID, EndFileID;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   <span class="keywordtype">unsigned</span> StartOff, EndOff;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   StartOff = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), StartFileID);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   EndOff   = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), EndFileID);</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> (StartFileID != EndFileID)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <span class="keywordflow">return</span> <span class="stringliteral">""</span>; <span class="comment">// Start and end in different buffers.</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="comment">// If edits have been made to this buffer, the delta between the range may</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   <span class="comment">// have changed.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   std::map<FileID, RewriteBuffer>::const_iterator I =</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>     RewriteBuffers.find(StartFileID);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>   <span class="keywordflow">if</span> (I == RewriteBuffers.end()) {</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>     <span class="comment">// If the buffer hasn't been rewritten, just return the text from the input.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *Ptr = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a365885c3cd3833c06fde3f5ed0ff60d8" title="Return a pointer to the start of the specified location in the appropriate spelling MemoryBuffer...">getCharacterData</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>());</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <span class="comment">// Adjust the end offset to the end of the last token, instead of being the</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <span class="comment">// start of the last token.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     EndOff += <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), *SourceMgr, *LangOpts);</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <span class="keywordflow">return</span> std::string(Ptr, Ptr+EndOff-StartOff);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   }</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &RB = I->second;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   EndOff = RB.getMappedOffset(EndOff, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   StartOff = RB.getMappedOffset(StartOff);</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>   <span class="comment">// Adjust the end offset to the end of the last token, instead of being the</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   <span class="comment">// start of the last token.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   EndOff += <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), *SourceMgr, *LangOpts);</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">// Advance the iterators to the right spot, yay for linear time algorithms.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RewriteBuffer::iterator</a> Start = RB.<a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>();</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   std::advance(Start, StartOff);</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RewriteBuffer::iterator</a> End = Start;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   std::advance(End, EndOff-StartOff);</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="keywordflow">return</span> std::string(Start, End);</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> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="keywordtype">unsigned</span> Rewriter::getLocationOffsetAndFileID(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</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)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   assert(Loc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() && <span class="stringliteral">"Invalid location"</span>);</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   std::pair<FileID,unsigned> V = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a957bbe1ee3d932ad3f82bcbeac422e35" title="Decompose the specified location into a raw FileID + Offset pair.">getDecomposedLoc</a>(Loc);</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   FID = V.first;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <span class="keywordflow">return</span> V.second;</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">  220</span> <span class="comment"></span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> <span class="comment">/// getEditBuffer - Get or create a RewriteBuffer for the specified FileID.</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">  223</a></span> <span class="comment"></span><a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &<a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">Rewriter::getEditBuffer</a>(<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) {</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   std::map<FileID, RewriteBuffer>::iterator I =</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>     RewriteBuffers.lower_bound(FID);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="keywordflow">if</span> (I != RewriteBuffers.end() && I->first == FID)</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>     <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   I = RewriteBuffers.insert(I, std::make_pair(FID, <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a>()));</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   I->second.Initialize(MB.begin(), MB.end());</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> }</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="comment"></span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="comment">/// InsertText - Insert the specified string at the specified location in the</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment">/// original buffer.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">  238</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">Rewriter::InsertText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str,</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>                           <span class="keywordtype">bool</span> InsertAfter, <span class="keywordtype">bool</span> indentNewLines) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Loc)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</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;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Loc, FID);</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>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> indentedStr;</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">if</span> (indentNewLines && Str.find(<span class="charliteral">'\n'</span>) != StringRef::npos) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="keywordtype">unsigned</span> lineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, StartOffs) - 1;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html" title="One instance of this struct is kept for every file loaded or used.">SrcMgr::ContentCache</a> *</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>         Content = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#ad1585a31ee5f93aaca7cce35f3f6922c">getSLocEntry</a>(FID).<a class="code" href="classclang_1_1SrcMgr_1_1SLocEntry.html#a1fb51637aa60930cf8993b7a6dfd0f4d">getFile</a>().<a class="code" href="classclang_1_1SrcMgr_1_1FileInfo.html#a0dfcfbd07292c9ab7f537f2dd38d14c4">getContentCache</a>();</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="keywordtype">unsigned</span> lineOffs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[lineNo];</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <span class="comment">// Find the whitespace at the start of the line.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     StringRef indentSpace;</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>       <span class="keywordtype">unsigned</span> i = lineOffs;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>       <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>         ++i;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>       indentSpace = MB.substr(lineOffs, i-lineOffs);</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     }</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<StringRef, 4></a> lines;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>     Str.split(lines, <span class="stringliteral">"\n"</span>);</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>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = lines.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>       indentedStr += lines[i];</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>       <span class="keywordflow">if</span> (i < e-1) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>         indentedStr += <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>         indentedStr += indentSpace;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>       }</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     }</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>     Str = indentedStr.str();</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> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>   <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID).<a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(StartOffs, Str, InsertAfter);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> }</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#aef117104324aa0d75f50c76a83971785">  279</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#aef117104324aa0d75f50c76a83971785" title="Insert the specified string after the token in the specified location.">Rewriter::InsertTextAfterToken</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str) {</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Loc)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</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;</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>   <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Loc, FID);</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>   <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> rangeOpts;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>   rangeOpts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>   StartOffs += <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Loc, Loc), rangeOpts);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>   <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID).<a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(StartOffs, Str, <span class="comment">/*InsertAfter*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> <span class="comment">/// RemoveText - Remove the specified text region.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73">  291</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">Rewriter::RemoveText</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> Start, <span class="keywordtype">unsigned</span> Length,</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>                           <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts) {</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Start)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</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;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Start, FID);</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>   <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID).<a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9" title="RemoveText - Remove the specified text.">RemoveText</a>(StartOffs, Length, opts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b" title="If true and removing some text leaves a blank line also remove the empty line (false by default)...">RemoveLineIfEmpty</a>);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> }</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> <span class="comment"></span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> <span class="comment">/// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> <span class="comment">/// buffer with a new string.  This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> <span class="comment">/// operation.</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">  303</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">Rewriter::ReplaceText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Start, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>                            StringRef NewStr) {</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Start)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</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> StartFileID;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Start, StartFileID);</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_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(StartFileID).<a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">ReplaceText</a>(StartOffs, OrigLength, NewStr);</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00313"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ada41b5e0bb2734b0b551e51689e72ff3">  313</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">Rewriter::ReplaceText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> replacementRange) {</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   <span class="keywordflow">if</span> (replacementRange.<a class="code" href="classclang_1_1SourceRange.html#ad4b210c1ce478d3e76c9e8e27bad7745">isInvalid</a>()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</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> start = range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>();</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>   <span class="keywordtype">unsigned</span> origLength = <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>   <span class="keywordtype">unsigned</span> newLength = <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(replacementRange);</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</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;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="keywordtype">unsigned</span> newOffs = getLocationOffsetAndFileID(replacementRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(),</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>                                                 FID);</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(start, origLength, MB.substr(newOffs, newLength));</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> }</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="comment"></span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="comment">/// ReplaceStmt - This replaces a Stmt/Expr with another, using the pretty</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> <span class="comment">/// printer to generate the replacement code.  This returns true if the input</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> <span class="comment">/// could not be rewritten, or false if successful.</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#afe268d736bda618e176fc754bb4657a8">  330</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe268d736bda618e176fc754bb4657a8">Rewriter::ReplaceStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *To) {</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <span class="comment">// Measaure the old text.</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="keywordtype">int</span> Size = <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(From-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="keywordflow">if</span> (Size == -1)</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="comment">// Get the new text.</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   std::string SStr;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   llvm::raw_string_ostream <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(SStr);</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   To-><a class="code" href="classclang_1_1Stmt.html#a7b6d8297403170952d84a89867ddbb1b">printPretty</a>(S, 0, <a class="code" href="structclang_1_1PrintingPolicy.html" title="Describes how types, statements, expressions, and declarations should be printed.">PrintingPolicy</a>(*LangOpts));</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keyword">const</span> std::string &Str = S.str();</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>   <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(From-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(), Size, Str);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> }</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a6ac023ea1676823fd3002956e5938656">  346</a></span> std::string <a class="code" href="classclang_1_1Rewriter.html#a6ac023ea1676823fd3002956e5938656">Rewriter::ConvertToString</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From) {</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   std::string SStr;</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   llvm::raw_string_ostream <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(SStr);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   From-><a class="code" href="classclang_1_1Stmt.html#a7b6d8297403170952d84a89867ddbb1b">printPretty</a>(S, 0, <a class="code" href="structclang_1_1PrintingPolicy.html" title="Describes how types, statements, expressions, and declarations should be printed.">PrintingPolicy</a>(*LangOpts));</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   <span class="keywordflow">return</span> S.str();</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> </div>
+<div class="line"><a name="l00353"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693">  353</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693" title="Increase indentation for the lines between the given source range. To determine what the indentation ...">Rewriter::IncreaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range,</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>                                    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> parentIndent) {</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   <span class="keywordflow">if</span> (range.<a class="code" href="classclang_1_1CharSourceRange.html#a1e4858d56ba9cff184a5280dbacfe786">isInvalid</a>()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(parentIndent)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>   <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> StartFileID, EndFileID, parentFileID;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   <span class="keywordtype">unsigned</span> StartOff, EndOff, parentOff;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>   StartOff = getLocationOffsetAndFileID(range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), StartFileID);</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>   EndOff   = getLocationOffsetAndFileID(range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), EndFileID);</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>   parentOff = getLocationOffsetAndFileID(parentIndent, parentFileID);</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   <span class="keywordflow">if</span> (StartFileID != EndFileID || StartFileID != parentFileID)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   <span class="keywordflow">if</span> (StartOff > EndOff)</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <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 = StartFileID;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   <span class="keywordtype">unsigned</span> parentLineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, parentOff) - 1;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   <span class="keywordtype">unsigned</span> startLineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, StartOff) - 1;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   <span class="keywordtype">unsigned</span> endLineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, EndOff) - 1;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html" title="One instance of this struct is kept for every file loaded or used.">SrcMgr::ContentCache</a> *</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>       Content = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#ad1585a31ee5f93aaca7cce35f3f6922c">getSLocEntry</a>(FID).<a class="code" href="classclang_1_1SrcMgr_1_1SLocEntry.html#a1fb51637aa60930cf8993b7a6dfd0f4d">getFile</a>().<a class="code" href="classclang_1_1SrcMgr_1_1FileInfo.html#a0dfcfbd07292c9ab7f537f2dd38d14c4">getContentCache</a>();</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>   <span class="comment">// Find where the lines start.</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <span class="keywordtype">unsigned</span> parentLineOffs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[parentLineNo];</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="keywordtype">unsigned</span> startLineOffs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[startLineNo];</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">// Find the whitespace at the start of each line.</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   StringRef parentSpace, startSpace;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   {</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>     <span class="keywordtype">unsigned</span> i = parentLineOffs;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>     <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>       ++i;</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>     parentSpace = MB.substr(parentLineOffs, i-parentLineOffs);</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>     i = startLineOffs;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>       ++i;</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     startSpace = MB.substr(startLineOffs, i-startLineOffs);</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>   }</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>   <span class="keywordflow">if</span> (parentSpace.size() >= startSpace.size())</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <span class="keywordflow">if</span> (!startSpace.startswith(parentSpace))</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   StringRef indent = startSpace.substr(parentSpace.size());</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>   <span class="comment">// Indent the lines between start/end offsets.</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &RB = <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> lineNo = startLineNo; lineNo <= endLineNo; ++lineNo) {</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>     <span class="keywordtype">unsigned</span> offs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[lineNo];</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>     <span class="keywordtype">unsigned</span> i = offs;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>       ++i;</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     StringRef origIndent = MB.substr(offs, i-offs);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     <span class="keywordflow">if</span> (origIndent.startswith(startSpace))</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>       RB.<a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(offs, indent, <span class="comment">/*InsertAfter=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   }</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment">// A wrapper for a file stream that atomically overwrites the target.</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> <span class="comment">// Creates a file output stream for a temporary file in the constructor,</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="comment">// which is later accessible via getStream() if ok() return true.</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="comment">// Flushes the stream and moves the temporary file to the target location</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> <span class="comment">// in the destructor.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> <span class="keyword">class </span>AtomicallyMovedFile {</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   AtomicallyMovedFile(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diagnostics, StringRef Filename,</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>                       <span class="keywordtype">bool</span> &AllWritten)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>     : Diagnostics(Diagnostics), Filename(Filename), AllWritten(AllWritten) {</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>     TempFilename = Filename;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>     TempFilename += <span class="stringliteral">"-%%%%%%%%"</span>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>     <span class="keywordtype">int</span> FD;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>     <span class="keywordflow">if</span> (llvm::sys::fs::createUniqueFile(TempFilename.str(), FD, TempFilename)) {</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>       AllWritten = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>       Diagnostics.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(clang::diag::err_unable_to_make_temp)</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>         << TempFilename;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>       FileStream.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="l00442"></a><span class="lineno">  442</span>     }</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   }</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   ~AtomicallyMovedFile() {</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     <span class="keywordflow">if</span> (!ok()) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     FileStream->flush();</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> <span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> <span class="preprocessor"></span>    <span class="comment">// Win32 does not allow rename/removing opened files.</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     FileStream.reset();</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> <span class="preprocessor"></span>    <span class="keywordflow">if</span> (llvm::error_code ec =</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>           llvm::sys::fs::rename(TempFilename.str(), Filename)) {</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>       AllWritten = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>       Diagnostics.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(clang::diag::err_unable_to_rename_temp)</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>         << TempFilename << Filename << ec.message();</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>       <span class="keywordtype">bool</span> existed;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>       <span class="comment">// If the remove fails, there's not a lot we can do - this is already an</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>       <span class="comment">// error.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>       llvm::sys::fs::remove(TempFilename.str(), existed);</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>     }</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   }</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>   <span class="keywordtype">bool</span> ok() { <span class="keywordflow">return</span> FileStream.isValid(); }</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   raw_ostream &getStream() { <span class="keywordflow">return</span> *FileStream; }</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</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="l00470"></a><span class="lineno">  470</span>   StringRef Filename;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> TempFilename;</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>   <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::raw_fd_ostream></a> FileStream;</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   <span class="keywordtype">bool</span> &AllWritten;</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> };</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#af8ccd9573dacff3bbd604b8354a17a95">  477</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#af8ccd9573dacff3bbd604b8354a17a95">Rewriter::overwriteChangedFiles</a>() {</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <span class="keywordtype">bool</span> AllWritten = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a> I = <a class="code" href="classclang_1_1Rewriter.html#a95d0ec4bce67d725d90bb7e8e9251f2e">buffer_begin</a>(), E = <a class="code" href="classclang_1_1Rewriter.html#a80fd9df8df1f7e7cb1f9cd71987e968f">buffer_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</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 =</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>         <a class="code" href="classclang_1_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">getSourceMgr</a>().<a class="code" href="classclang_1_1SourceManager.html#a89a4d1fa8ccc458bce84b0d72b4545db" title="Returns the FileEntry record for the provided FileID.">getFileEntryForID</a>(I->first);</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     AtomicallyMovedFile File(<a class="code" href="classclang_1_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">getSourceMgr</a>().getDiagnostics(), Entry-><a class="code" href="classclang_1_1FileEntry.html#a94ddac74f217c35e19420dd6c419e25f">getName</a>(),</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>                              AllWritten);</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>     <span class="keywordflow">if</span> (File.ok()) {</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>       I->second.write(File.getStream());</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     }</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   }</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>   <span class="keywordflow">return</span> !AllWritten;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewriter_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,367 @@
+<!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: Rewriter.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li><li class="navelem"><a class="el" href="dir_712833a27f5be7bf49ee8e99237dd33d.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewriter.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewriter_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/Rewrite/Core/Release+Asserts/Rewriter.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/Release+Asserts/Rewriter.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  Rewriter.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/Rewriter.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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/Support/Compiler.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/DeltaTree.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.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/APSInt.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TemplateKinds.h</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/Rewriter.h:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/DeltaTree.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Rewrite/Core/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/CommentOptions.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/VersionTuple.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/Triple.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OpenCLExtensions.def:</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/Rewrite/Core/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclGroup.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/Rewrite/Core/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.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/MemoryBuffer.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/Support/CBindingWrapping.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-c/Core.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/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/tools/clang/lib/Rewrite/Core/../../../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="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TemplateKinds.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewriter_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,379 @@
+<!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: Rewriter.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_8e6e71a2028d1d380b134748e68cbbb8.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Rewriter.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewriter_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">//===--- Rewriter.h - Code rewriting interface ------------------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines the Rewriter class, which is used for code</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  transformations.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITER_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITER_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="SourceLocation_8h.html" title="Defines the clang::SourceLocation class and associated facilities.">clang/Basic/SourceLocation.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="DeltaTree_8h.html">clang/Rewrite/Core/DeltaTree.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="RewriteRope_8h.html">clang/Rewrite/Core/RewriteRope.h</a>"</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 <cstring></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include <map></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   <span class="keyword">class </span>LangOptions;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="keyword">class </span>Rewriter;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">class </span>SourceManager;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">class </span>Stmt;</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">/// RewriteBuffer - As code is rewritten, SourceBuffer's from the original</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// input with modifications get a new RewriteBuffer associated with them.  The</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// RewriteBuffer captures the modified text itself as well as information used</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// to map between SourceLocation's in the original input and offsets in the</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">/// RewriteBuffer.  For example, if text is inserted into the buffer, any</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">/// locations after the insertion point have to be mapped.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html">   38</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> {</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#af32d7e0fb55824e90ad60d38e8e8e8c5">   39</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">  /// Deltas - Keep track of all the deltas in the source code due to insertions</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">  /// and deletions.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment"></span>  <a class="code" href="classclang_1_1DeltaTree.html">DeltaTree</a> Deltas;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <a class="code" href="classclang_1_1RewriteRope.html">RewriteRope</a> Buffer;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a43401e1647959ebab4518ea69e5f5c96">   45</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RewriteRope::const_iterator</a> <a class="code" href="classclang_1_1RewriteBuffer.html#a43401e1647959ebab4518ea69e5f5c96">iterator</a>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">   46</a></span>   <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#aad8bd9ca4de176867327c6aa76cb0b41">begin</a>(); }</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">   47</a></span>   <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a27b55fba74630e22e3b7cde770795d8f">end</a>(); }</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#ad1965371033028cd74d4d8037b646f23">   48</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RewriteBuffer.html#ad1965371033028cd74d4d8037b646f23">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>(); }</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">  /// \brief Write to \p Stream the result of applying all changes to the</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">  /// original buffer.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">  /// Note that it isn't safe to use this function to overwrite memory mapped</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">  /// files in-place (PR17960). Consider using a higher-level utility such as</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// Rewriter::overwriteChangedFiles() instead.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">  /// The original buffer is not actually changed.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment"></span>  raw_ostream &<a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9" title="Write to Stream the result of applying all changes to the original buffer. Note that it isn't safe to...">write</a>(raw_ostream &Stream) <span class="keyword">const</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">  /// RemoveText - Remove the specified text.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9" title="RemoveText - Remove the specified text.">RemoveText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> Size,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>                   <span class="keywordtype">bool</span> removeLineIfEmpty = <span class="keyword">false</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">  /// InsertText - Insert some text at the specified point, where the offset in</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">  /// the buffer is specified relative to the original SourceBuffer.  The</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">  /// text is inserted after the specified location.</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"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                   <span class="keywordtype">bool</span> InsertAfter = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">  /// InsertTextBefore - Insert some text before the specified point, where the</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment">  /// offset in the buffer is specified relative to the original</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment">  /// SourceBuffer. The text is inserted before the specified location.  This is</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment">  /// method is the same as InsertText with "InsertAfter == false".</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a29dc060e860fd502296b4a927693f467">   75</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a29dc060e860fd502296b4a927693f467">InsertTextBefore</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str) {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>     <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(OrigOffset, Str, <span class="keyword">false</span>);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> <span class="comment">  /// InsertTextAfter - Insert some text at the specified point, where the</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment">  /// offset in the buffer is specified relative to the original SourceBuffer.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment">  /// The text is inserted after the specified location.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a04dbac6a36b77af1c36033bd8f15f7d2">   82</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a04dbac6a36b77af1c36033bd8f15f7d2">InsertTextAfter</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>     <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(OrigOffset, Str);</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"></span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">  /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">  /// buffer with a new string.  This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">  /// operation.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">ReplaceText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>                    StringRef NewStr);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="keyword">private</span>:  <span class="comment">// Methods only usable by Rewriter.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> <span class="comment"></span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> <span class="comment">  /// Initialize - Start this rewrite buffer out with a copy of the unmodified</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> <span class="comment">  /// input buffer.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment"></span>  <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <span class="keywordtype">char</span> *BufStart, <span class="keyword">const</span> <span class="keywordtype">char</span> *BufEnd) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>     Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a848c03f869acfc41696c1de2f2c44039">assign</a>(BufStart, BufEnd);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   }</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// getMappedOffset - Given an offset into the original SourceBuffer that this</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">  /// RewriteBuffer is based on, map it into the offset space of the</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">  /// RewriteBuffer.  If AfterInserts is true and if the OrigOffset indicates a</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <span class="comment">  /// position where text is inserted, the location returned will be after any</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment">  /// inserted text at the position.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> getMappedOffset(<span class="keywordtype">unsigned</span> OrigOffset,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>                            <span class="keywordtype">bool</span> AfterInserts = <span class="keyword">false</span>)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     <span class="keywordflow">return</span> Deltas.<a class="code" href="classclang_1_1DeltaTree.html#adeeaf017756a06d1162477bb4465e015">getDeltaAt</a>(2*OrigOffset+AfterInserts)+OrigOffset;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   }</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  /// AddInsertDelta - When an insertion is made at a position, this</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">  /// method is used to record that information.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddInsertDelta(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">int</span> Change) {</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <span class="keywordflow">return</span> Deltas.<a class="code" href="classclang_1_1DeltaTree.html#a65b2200df7c029fc766e3486c6629ae5">AddDelta</a>(2*OrigOffset, Change);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">  /// AddReplaceDelta - When a replacement/deletion is made at a position, this</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment">  /// method is used to record that information.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddReplaceDelta(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">int</span> Change) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <span class="keywordflow">return</span> Deltas.<a class="code" href="classclang_1_1DeltaTree.html#a65b2200df7c029fc766e3486c6629ae5">AddDelta</a>(2*OrigOffset+1, Change);</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> };</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">/// Rewriter - This is the main interface to the rewrite buffers.  Its primary</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">/// job is to dispatch high-level requests to the low-level RewriteBuffers that</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">/// are involved.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html">  127</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1Rewriter.html">Rewriter</a> {</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</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="l00129"></a><span class="lineno">  129</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> *LangOpts;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   std::map<FileID, RewriteBuffer> RewriteBuffers;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">  132</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">    /// \brief Given a source range, true to include previous inserts at the</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">    /// beginning of the range as part of the range itself (true by default).</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20">  135</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">    /// \brief Given a source range, true to include previous inserts at the</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment">    /// end of the range as part of the range itself (true by default).</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c">  138</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c" title="Given a source range, true to include previous inserts at the end of the range as part of the range i...">IncludeInsertsAtEndOfRange</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">    /// \brief If true and removing some text leaves a blank line</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">    /// also remove the empty line (false by default).</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b">  141</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b" title="If true and removing some text leaves a blank line also remove the empty line (false by default)...">RemoveLineIfEmpty</a>;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a11663fbeece297326f1466a942ee18ac">  143</a></span>     <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a11663fbeece297326f1466a942ee18ac">RewriteOptions</a>()</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       : <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>         <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c" title="Given a source range, true to include previous inserts at the end of the range as part of the range i...">IncludeInsertsAtEndOfRange</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>         <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b" title="If true and removing some text leaves a blank line also remove the empty line (false by default)...">RemoveLineIfEmpty</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) { }</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"><a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">  149</a></span>   <span class="keyword">typedef</span> std::map<FileID, RewriteBuffer>::iterator <a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">  150</a></span>   <span class="keyword">typedef</span> std::map<FileID, RewriteBuffer>::const_iterator <a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">const_buffer_iterator</a>;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a90d32640a26520ebcc3ec7961e035d2f">  152</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1Rewriter.html#a923c26767a7833413a5d167cc5a6ffe0">Rewriter</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LO)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>     : SourceMgr(&SM), LangOpts(&LO) {}</div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a923c26767a7833413a5d167cc5a6ffe0">  154</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1Rewriter.html#a923c26767a7833413a5d167cc5a6ffe0">Rewriter</a>() : SourceMgr(0), LangOpts(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"><a class="code" href="classclang_1_1Rewriter.html#a39253f773aa5033407601efbc5f9aaaf">  156</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Rewriter.html#a39253f773aa5033407601efbc5f9aaaf">setSourceMgr</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LO) {</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     SourceMgr = &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     LangOpts = &LO;</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_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">  160</a></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_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">getSourceMgr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *SourceMgr; }</div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a80c10cf50c1687237b9436b16d6102d1">  161</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_1Rewriter.html#a80c10cf50c1687237b9436b16d6102d1">getLangOpts</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *LangOpts; }</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment"></span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment">  /// isRewritable - Return true if this location is a raw file location, which</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">  /// is rewritable.  Locations from macros, etc are not rewritable.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">  165</a></span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <span class="keywordflow">return</span> Loc.<a class="code" href="classclang_1_1SourceLocation.html#a8317aa72ddfd4e2221603217927070cc">isFileID</a>();</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment"></span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> <span class="comment">  /// getRangeSize - Return the size in bytes of the specified range if they</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment">  /// are in the same file.  If not, this returns -1.</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range,</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>                    RewriteOptions opts = RewriteOptions()) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &Range,</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                    RewriteOptions opts = RewriteOptions()) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment"></span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> <span class="comment">  /// getRewrittenText - Return the rewritten form of the text in the specified</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment">  /// range.  If the start or end of the range was unrewritable or if they are</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment">  /// in different buffers, this returns an empty string.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">  /// Note that this method is not particularly efficient.</span></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>  std::string <a class="code" href="classclang_1_1Rewriter.html#a72e4d3d6e25b62a3d173dc7c030e1c09">getRewrittenText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range) <span class="keyword">const</span>;</div>
+<div class="line"><a name="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">  /// InsertText - Insert the specified string at the specified location in the</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">  /// original buffer.  This method returns true (and does nothing) if the input</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> <span class="comment">  /// location was not rewritable, false otherwise.</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">  /// \param indentNewLines if true new lines in the string are indented</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> <span class="comment">  /// using the indentation of the source line in position \p Loc.</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">InsertText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str,</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>                   <span class="keywordtype">bool</span> InsertAfter = <span class="keyword">true</span>, <span class="keywordtype">bool</span> indentNewLines = <span class="keyword">false</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">  /// InsertTextAfter - Insert the specified string at the specified location in</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  ///  the original buffer.  This method returns true (and does nothing) if</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment">  ///  the input location was not rewritable, false otherwise.  Text is</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment">  ///  inserted after any other text that has been previously inserted</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment">  ///  at the some point (the default behavior for InsertText).</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ac4c8094b2d1962b30f3228e0ef3c72af">  198</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#ac4c8094b2d1962b30f3228e0ef3c72af">InsertTextAfter</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str) {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">InsertText</a>(Loc, Str);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   }</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment"></span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> <span class="comment">  /// \brief Insert the specified string after the token in the</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> <span class="comment">  /// specified location.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#aef117104324aa0d75f50c76a83971785" title="Insert the specified string after the token in the specified location.">InsertTextAfterToken</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str);</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">  /// InsertText - Insert the specified string at the specified location in the</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment">  /// original buffer.  This method returns true (and does nothing) if the input</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="comment">  /// location was not rewritable, false otherwise.  Text is</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment">  /// inserted before any other text that has been previously inserted</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment">  /// at the some point.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a094c673eba004da45d763cf8def97497">  211</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a094c673eba004da45d763cf8def97497">InsertTextBefore</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str) {</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">InsertText</a>(Loc, Str, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   }</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> <span class="comment"></span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> <span class="comment">  /// RemoveText - Remove the specified text region.</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</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> Start, <span class="keywordtype">unsigned</span> Length,</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>                   RewriteOptions opts = RewriteOptions());</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment"></span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="comment">  /// \brief Remove the specified text region.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ab177273fed29d8cb64a644860c434a1e">  220</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range,</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>                   <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts = <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a>()) {</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range, opts), opts);</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"></span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> <span class="comment">  /// \brief Remove the specified text region.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a75230f57da7d6007b6a8a40d204d3be0">  226</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a75230f57da7d6007b6a8a40d204d3be0" title="Remove the specified text region.">RemoveText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts = <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a>()) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range, opts), opts);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   }</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment"></span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> <span class="comment">  /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="comment">  /// buffer with a new string.  This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="comment">  /// operation.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Start, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>                    StringRef NewStr);</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="comment"></span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="comment">  /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment">  /// buffer with a new string.  This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> <span class="comment">  /// operation.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#aa09b7ab42115f9ad5e4d0c6300ec617c">  239</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#aa09b7ab42115f9ad5e4d0c6300ec617c">ReplaceText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, StringRef NewStr) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range), NewStr);</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   }</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> <span class="comment"></span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> <span class="comment">  /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> <span class="comment">  /// buffer with a new string.  This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> <span class="comment">  /// operation.</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> replacementRange);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="comment"></span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> <span class="comment">  /// ReplaceStmt - This replaces a Stmt/Expr with another, using the pretty</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> <span class="comment">  /// printer to generate the replacement code.  This returns true if the input</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> <span class="comment">  /// could not be rewritten, or false if successful.</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe268d736bda618e176fc754bb4657a8">ReplaceStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *To);</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> <span class="comment"></span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment">  /// \brief Increase indentation for the lines between the given source range.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="comment">  /// To determine what the indentation should be, 'parentIndent' is used</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> <span class="comment">  /// that should be at a source location with an indentation one degree</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> <span class="comment">  /// lower than the given range.</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693" title="Increase indentation for the lines between the given source range. To determine what the indentation ...">IncreaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> parentIndent);</div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a73124a3d653144490d28da8e3e585b2d">  258</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a73124a3d653144490d28da8e3e585b2d">IncreaseIndentation</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> parentIndent) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693" title="Increase indentation for the lines between the given source range. To determine what the indentation ...">IncreaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(range),</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>                                parentIndent);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   }</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> <span class="comment"></span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> <span class="comment">  /// ConvertToString converts statement 'From' to a string using the</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> <span class="comment">  /// pretty printer.</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1Rewriter.html#a6ac023ea1676823fd3002956e5938656">ConvertToString</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> <span class="comment"></span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> <span class="comment">  /// getEditBuffer - This is like getRewriteBufferFor, but always returns a</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> <span class="comment">  /// buffer, and allows you to write on it directly.  This is useful if you</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> <span class="comment">  /// want efficient low-level access to apis for scribbling on one specific</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> <span class="comment">  /// FileID's buffer.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> <span class="comment"></span>  <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &<a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(<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);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> <span class="comment"></span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment">  /// getRewriteBufferFor - Return the rewrite buffer for the specified FileID.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> <span class="comment">  /// If no modification has been made to it, return null.</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a6345f29dfc642152bf0d51eae32f900e">  275</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> *<a class="code" href="classclang_1_1Rewriter.html#a6345f29dfc642152bf0d51eae32f900e">getRewriteBufferFor</a>(<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)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>     std::map<FileID, RewriteBuffer>::const_iterator I =</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>       RewriteBuffers.find(FID);</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     <span class="keywordflow">return</span> I == RewriteBuffers.end() ? 0 : &I->second;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>   }</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>   <span class="comment">// Iterators over rewrite buffers.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a95d0ec4bce67d725d90bb7e8e9251f2e">  282</a></span>   <a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#a95d0ec4bce67d725d90bb7e8e9251f2e">buffer_begin</a>() { <span class="keywordflow">return</span> RewriteBuffers.begin(); }</div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a80fd9df8df1f7e7cb1f9cd71987e968f">  283</a></span>   <a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#a80fd9df8df1f7e7cb1f9cd71987e968f">buffer_end</a>() { <span class="keywordflow">return</span> RewriteBuffers.end(); }</div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ac6f6472144a5eb98222a7606f8eeba9d">  284</a></span>   <a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">const_buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#ac6f6472144a5eb98222a7606f8eeba9d">buffer_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RewriteBuffers.begin(); }</div>
+<div class="line"><a name="l00285"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#adf1e6ac37b96df8a2bb47e000617de04">  285</a></span>   <a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">const_buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#adf1e6ac37b96df8a2bb47e000617de04">buffer_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RewriteBuffers.end(); }</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> <span class="comment"></span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> <span class="comment">  /// overwriteChangedFiles - Save all changed files to disk.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> <span class="comment">  /// Returns true if any files were not saved successfully.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> <span class="comment">  /// Outputs diagnostics via the source manager's diagnostic engine</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> <span class="comment">  /// in case of an error.</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#af8ccd9573dacff3bbd604b8354a17a95">overwriteChangedFiles</a>();</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   <span class="keywordtype">unsigned</span> getLocationOffsetAndFileID(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <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) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> };</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/SanitizerArgs_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,468 @@
+<!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: SanitizerArgs.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">SanitizerArgs.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SanitizerArgs_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">//===--- SanitizerArgs.cpp - Arguments for sanitizer 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="preprocessor">#include "<a class="code" href="SanitizerArgs_8h.html">clang/Driver/SanitizerArgs.h</a>"</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> </div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor">#include "<a class="code" href="Driver_8h.html">clang/Driver/Driver.h</a>"</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor">#include "<a class="code" href="DriverDiagnostic_8h.html">clang/Driver/DriverDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">clang/Driver/Options.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="ToolChain_8h.html">clang/Driver/ToolChain.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "llvm/ADT/StringSwitch.h"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "llvm/Transforms/Utils/SpecialCaseList.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">using namespace </span>clang::driver;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">using namespace </span>llvm::opt;</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="keywordtype">void</span> SanitizerArgs::clear() {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = 0;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   BlacklistFile = <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   MsanTrackOrigins = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   AsanZeroBaseShadow = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   UbsanTrapOnError = <span class="keyword">false</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> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">   32</a></span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs::SanitizerArgs</a>() {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   clear();</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> }</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ada8fa094ddfd49f34c0eb77e0407166c">   36</a></span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs::SanitizerArgs</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="l00037"></a><span class="lineno">   37</span>                              <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   clear();</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keywordtype">unsigned</span> AllAdd = 0;  <span class="comment">// All kinds of sanitizers that were turned on</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>                         <span class="comment">// at least once (possibly, disabled further).</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keywordtype">unsigned</span> AllRemove = 0;  <span class="comment">// During the loop below, the accumulated set of</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>                            <span class="comment">// sanitizers disabled by the current sanitizer</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>                            <span class="comment">// argument or any argument after it.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="keywordtype">unsigned</span> DiagnosedKinds = 0;  <span class="comment">// All Kinds we have diagnosed up to now.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>                                 <span class="comment">// Used to deduplicate diagnostics.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a948578fde08fb304953d76205b1ba7cd">getDriver</a>();</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="keywordflow">for</span> (ArgList::const_reverse_iterator I = Args.rbegin(), E = Args.rend();</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>     <span class="keywordtype">unsigned</span> Add, Remove;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     <span class="keywordflow">if</span> (!parse(D, Args, *I, Add, Remove, <span class="keyword">true</span>))</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     (*I)->claim();</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>     AllAdd |= expandGroups(Add);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     AllRemove |= expandGroups(Remove);</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>     <span class="comment">// Avoid diagnosing any sanitizer which is disabled later.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>     Add &= ~AllRemove;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>     <span class="comment">// At this point we have not expanded groups, so any unsupported sanitizers</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     <span class="comment">// in Add are those which have been explicitly enabled. Diagnose them.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     Add = filterUnsupportedKinds(TC, Add, Args, *I, <span class="comment">/*DiagnoseErrors=*/</span><span class="keyword">true</span>,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>                                  DiagnosedKinds);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>     Add = expandGroups(Add);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>     <span class="comment">// Group expansion may have enabled a sanitizer which is disabled later.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>     Add &= ~AllRemove;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>     <span class="comment">// Silently discard any unsupported sanitizers implicitly enabled through</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     <span class="comment">// group expansion.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     Add = filterUnsupportedKinds(TC, Add, Args, *I, <span class="comment">/*DiagnoseErrors=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>                                  DiagnosedKinds);</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>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> |= Add;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>   UbsanTrapOnError =</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>     Args.hasArg(options::OPT_fcatch_undefined_behavior) ||</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>     Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>                  options::OPT_fno_sanitize_undefined_trap_on_error, <span class="keyword">false</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">   79</span>   <span class="keywordflow">if</span> (Args.hasArg(options::OPT_fcatch_undefined_behavior) &&</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>       !Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>                     options::OPT_fno_sanitize_undefined_trap_on_error, <span class="keyword">true</span>)) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>       << <span class="stringliteral">"-fcatch-undefined-behavior"</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>       << <span class="stringliteral">"-fno-sanitize-undefined-trap-on-error"</span>;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   }</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <span class="comment">// Warn about undefined sanitizer options that require runtime support.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   <span class="keywordflow">if</span> (UbsanTrapOnError && notAllowedWithTrap()) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>     <span class="keywordflow">if</span> (Args.hasArg(options::OPT_fcatch_undefined_behavior))</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>       D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>         << lastArgumentForKind(D, Args, NotAllowedWithTrap)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>         << <span class="stringliteral">"-fcatch-undefined-behavior"</span>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>                           options::OPT_fno_sanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>                           <span class="keyword">false</span>))</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>         << lastArgumentForKind(D, Args, NotAllowedWithTrap)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>         << <span class="stringliteral">"-fsanitize-undefined-trap-on-error"</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">  100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   <span class="comment">// Only one runtime library can be used at once.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="keywordtype">bool</span> NeedsAsan = needsAsanRt();</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="keywordtype">bool</span> NeedsTsan = needsTsanRt();</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="keywordtype">bool</span> NeedsMsan = needsMsanRt();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="keywordtype">bool</span> NeedsLsan = needsLeakDetection();</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="keywordflow">if</span> (NeedsAsan && NeedsTsan)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>       << lastArgumentForKind(D, Args, NeedsAsanRt)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>       << lastArgumentForKind(D, Args, NeedsTsanRt);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="keywordflow">if</span> (NeedsAsan && NeedsMsan)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>       << lastArgumentForKind(D, Args, NeedsAsanRt)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>       << lastArgumentForKind(D, Args, NeedsMsanRt);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <span class="keywordflow">if</span> (NeedsTsan && NeedsMsan)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       << lastArgumentForKind(D, Args, NeedsTsanRt)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>       << lastArgumentForKind(D, Args, NeedsMsanRt);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   <span class="keywordflow">if</span> (NeedsLsan && NeedsTsan)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>       << lastArgumentForKind(D, Args, NeedsLeakDetection)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       << lastArgumentForKind(D, Args, NeedsTsanRt);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="keywordflow">if</span> (NeedsLsan && NeedsMsan)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>       << lastArgumentForKind(D, Args, NeedsLeakDetection)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>       << lastArgumentForKind(D, Args, NeedsMsanRt);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <span class="comment">// FIXME: Currenly -fsanitize=leak is silently ignored in the presence of</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="comment">// -fsanitize=address. Perhaps it should print an error, or perhaps</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="comment">// -f(-no)sanitize=leak should change whether leak detection is enabled by</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   <span class="comment">// default in ASan?</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="comment">// If -fsanitize contains extra features of ASan, it should also</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   <span class="comment">// explicitly contain -fsanitize=address (probably, turned off later in the</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="comment">// command line).</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   <span class="keywordflow">if</span> ((<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & AddressFull) != 0 && (AllAdd & Address) == 0)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::warn_drv_unused_sanitizer)</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>      << lastArgumentForKind(D, Args, AddressFull)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>      << <span class="stringliteral">"-fsanitize=address"</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <span class="comment">// Parse -f(no-)sanitize-blacklist options.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <span class="keywordflow">if</span> (Arg *BLArg = Args.getLastArg(options::OPT_fsanitize_blacklist,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                                    options::OPT_fno_sanitize_blacklist)) {</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>     <span class="keywordflow">if</span> (BLArg->getOption().matches(options::OPT_fsanitize_blacklist)) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>       std::string BLPath = BLArg->getValue();</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       <span class="keywordflow">if</span> (llvm::sys::fs::exists(BLPath)) {</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>         <span class="comment">// Validate the blacklist format.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>         std::string BLError;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>         <a class="code" href="classllvm_1_1OwningPtr.html">llvm::OwningPtr<llvm::SpecialCaseList></a> SCL(</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>             <a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::SpecialCaseList::create</a>(BLPath, BLError));</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>         <span class="keywordflow">if</span> (!SCL.get())</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>           D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_malformed_sanitizer_blacklist) << BLError;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>         <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>           BlacklistFile = BLPath;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>         D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_no_such_file) << BLPath;</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">  157</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     <span class="comment">// If no -fsanitize-blacklist option is specified, try to look up for</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>     <span class="comment">// blacklist in the resource directory.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     std::string BLPath;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     <span class="keywordflow">if</span> (getDefaultBlacklistForKind(D, <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, BLPath) &&</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>         llvm::sys::fs::exists(BLPath))</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       BlacklistFile = BLPath;</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> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="comment">// Parse -f(no-)sanitize-memory-track-origins options.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   <span class="keywordflow">if</span> (NeedsMsan)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>     MsanTrackOrigins =</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>       Args.hasFlag(options::OPT_fsanitize_memory_track_origins,</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                    options::OPT_fno_sanitize_memory_track_origins,</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                    <span class="comment">/* Default */</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <span class="comment">// Parse -f(no-)sanitize-address-zero-base-shadow options.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   <span class="keywordflow">if</span> (NeedsAsan) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     <span class="keywordtype">bool</span> IsAndroid = (TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getEnvironment() == llvm::Triple::Android);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>     <span class="keywordtype">bool</span> ZeroBaseShadowDefault = IsAndroid;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     AsanZeroBaseShadow =</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>         Args.hasFlag(options::OPT_fsanitize_address_zero_base_shadow,</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>                      options::OPT_fno_sanitize_address_zero_base_shadow,</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>                      ZeroBaseShadowDefault);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     <span class="comment">// Zero-base shadow is a requirement on Android.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <span class="keywordflow">if</span> (IsAndroid && !AsanZeroBaseShadow) {</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>       D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>           << <span class="stringliteral">"-fno-sanitize-address-zero-base-shadow"</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>           << lastArgumentForKind(D, Args, Address);</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>   }</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> }</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ad57172a4740b38ed4f8a8bb7f7d73758">  190</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ad57172a4740b38ed4f8a8bb7f7d73758">SanitizerArgs::addArgs</a>(<span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>                             llvm::opt::ArgStringList &CmdArgs)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   <span class="keywordflow">if</span> (!<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> SanitizeOpt(<span class="stringliteral">"-fsanitize="</span>);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="preprocessor">#define SANITIZER(NAME, ID) \</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="preprocessor">  if (Kind & ID) \</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="preprocessor">    SanitizeOpt += NAME ",";</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   SanitizeOpt.pop_back();</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   CmdArgs.push_back(Args.MakeArgString(SanitizeOpt));</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   <span class="keywordflow">if</span> (!BlacklistFile.empty()) {</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<64></a> BlacklistOpt(<span class="stringliteral">"-fsanitize-blacklist="</span>);</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>     BlacklistOpt += BlacklistFile;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>     CmdArgs.push_back(Args.MakeArgString(BlacklistOpt));</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   }</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   <span class="keywordflow">if</span> (MsanTrackOrigins)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>     CmdArgs.push_back(Args.MakeArgString(<span class="stringliteral">"-fsanitize-memory-track-origins"</span>));</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   <span class="keywordflow">if</span> (AsanZeroBaseShadow)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>     CmdArgs.push_back(</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>         Args.MakeArgString(<span class="stringliteral">"-fsanitize-address-zero-base-shadow"</span>));</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   <span class="comment">// Workaround for PR16386.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <span class="keywordflow">if</span> (needsMsanRt())</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>     CmdArgs.push_back(Args.MakeArgString(<span class="stringliteral">"-fno-assume-sane-operator-new"</span>));</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> }</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="keywordtype">unsigned</span> SanitizerArgs::parse(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   <span class="keywordtype">unsigned</span> ParsedKind = llvm::StringSwitch<SanitizeKind>(<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>)</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> #define <a class="code" href="LangOptions_8h.html#a141e897af3d502876011bcf9002b385e">SANITIZER</a>(NAME, <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>) .Case(NAME, <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>)</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) .Case(NAME, ID##Group)</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     .Default(SanitizeKind());</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="comment">// Assume -fsanitize=address implies -fsanitize=init-order,use-after-return.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="comment">// FIXME: This should be either specified in Sanitizers.def, or go away when</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="comment">// we get rid of "-fsanitize=init-order,use-after-return" flags at all.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <span class="keywordflow">if</span> (ParsedKind & Address)</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     ParsedKind |= InitOrder | UseAfterReturn;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="keywordflow">return</span> ParsedKind;</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> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="keywordtype">unsigned</span> SanitizerArgs::expandGroups(<span class="keywordtype">unsigned</span> Kinds) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> <span class="preprocessor">#define SANITIZER(NAME, ID)</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="preprocessor"></span><span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) if (Kinds & ID##Group) Kinds |= ID;</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   <span class="keywordflow">return</span> Kinds;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> }</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> <span class="keywordtype">void</span> SanitizerArgs::filterUnsupportedMask(<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, <span class="keywordtype">unsigned</span> &Kinds,</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>                                           <span class="keywordtype">unsigned</span> Mask,</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>                                           <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>                                           <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>                                           <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>                                           <span class="keywordtype">unsigned</span> &DiagnosedKinds) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>   <span class="keywordtype">unsigned</span> MaskedKinds = Kinds & Mask;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   <span class="keywordflow">if</span> (!MaskedKinds)</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   Kinds &= ~Mask;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   <span class="comment">// Do we have new kinds to diagnose?</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   <span class="keywordflow">if</span> (DiagnoseErrors && (DiagnosedKinds & MaskedKinds) != MaskedKinds) {</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     <span class="comment">// Only diagnose the new kinds.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     std::string Desc =</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>         describeSanitizeArg(Args, A, MaskedKinds & ~DiagnosedKinds);</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a948578fde08fb304953d76205b1ba7cd">getDriver</a>().<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_unsupported_opt_for_target)</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>         << Desc << TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().str();</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     DiagnosedKinds |= MaskedKinds;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   }</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> }</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> <span class="keywordtype">unsigned</span> SanitizerArgs::filterUnsupportedKinds(<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="l00262"></a><span class="lineno">  262</span>                                                <span class="keywordtype">unsigned</span> Kinds,</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>                                                <span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>                                                <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>                                                <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>                                                <span class="keywordtype">unsigned</span> &DiagnosedKinds) {</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>   <span class="keywordtype">bool</span> IsLinux = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getOS() == llvm::Triple::Linux;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>   <span class="keywordtype">bool</span> IsX86 = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getArch() == llvm::Triple::x86;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>   <span class="keywordtype">bool</span> IsX86_64 = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getArch() == llvm::Triple::x86_64;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   <span class="keywordflow">if</span> (!(IsLinux && IsX86_64)) {</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     filterUnsupportedMask(TC, Kinds, Thread | Memory | DataFlow, Args, A,</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>                           DiagnoseErrors, DiagnosedKinds);</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> (!(IsLinux && (IsX86 || IsX86_64))) {</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     filterUnsupportedMask(TC, Kinds, Function, Args, A, DiagnoseErrors,</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>                           DiagnosedKinds);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   }</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   <span class="keywordflow">return</span> Kinds;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> }</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> <span class="keywordtype">unsigned</span> SanitizerArgs::parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>                               <span class="keywordtype">bool</span> DiagnoseErrors) {</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>   <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = 0;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = A->getNumValues(); I != N; ++I) {</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     <span class="keywordflow">if</span> (<span class="keywordtype">unsigned</span> K = parse(A->getValue(I)))</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>       Kind |= K;</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (DiagnoseErrors)</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>       D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_unsupported_option_argument)</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>         << A->getOption().getName() << A->getValue(I);</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="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> }</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> <span class="keywordtype">bool</span> SanitizerArgs::parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>                           <span class="keyword">const</span> llvm::opt::Arg *A, <span class="keywordtype">unsigned</span> &Add,</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>                           <span class="keywordtype">unsigned</span> &Remove, <span class="keywordtype">bool</span> DiagnoseErrors) {</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   Add = 0;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   Remove = 0;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *DeprecatedReplacement = 0;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_faddress_sanitizer)) {</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     Add = Address;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>     DeprecatedReplacement = <span class="stringliteral">"-fsanitize=address"</span>;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fno_address_sanitizer)) {</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     Remove = Address;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>     DeprecatedReplacement = <span class="stringliteral">"-fno-sanitize=address"</span>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fthread_sanitizer)) {</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>     Add = Thread;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     DeprecatedReplacement = <span class="stringliteral">"-fsanitize=thread"</span>;</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fno_thread_sanitizer)) {</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     Remove = Thread;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>     DeprecatedReplacement = <span class="stringliteral">"-fno-sanitize=thread"</span>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fcatch_undefined_behavior)) {</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     Add = UndefinedTrap;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     DeprecatedReplacement =</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>       <span class="stringliteral">"-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error"</span>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fbounds_checking) ||</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>              A->getOption().matches(options::OPT_fbounds_checking_EQ)) {</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>     Add = LocalBounds;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>     DeprecatedReplacement = <span class="stringliteral">"-fsanitize=local-bounds"</span>;</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fsanitize_EQ)) {</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>     Add = parse(D, A, DiagnoseErrors);</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fno_sanitize_EQ)) {</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     Remove = parse(D, A, DiagnoseErrors);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>     <span class="comment">// Flag is not relevant to sanitizers.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   <span class="comment">// If this is a deprecated synonym, produce a warning directing users</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="comment">// towards the new spelling.</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   <span class="keywordflow">if</span> (DeprecatedReplacement && DiagnoseErrors)</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>     D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::warn_drv_deprecated_arg)</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>       << A->getAsString(Args) << DeprecatedReplacement;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> }</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> std::string SanitizerArgs::lastArgumentForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D,</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>                                                <span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>                                                <span class="keywordtype">unsigned</span> Kind) {</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="keywordflow">for</span> (llvm::opt::ArgList::const_reverse_iterator I = Args.rbegin(),</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>                                                   E = Args.rend();</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>     <span class="keywordtype">unsigned</span> Add, Remove;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>     <span class="keywordflow">if</span> (parse(D, Args, *I, Add, Remove, <span class="keyword">false</span>) &&</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>         (expandGroups(Add) & <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>))</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>       <span class="keywordflow">return</span> describeSanitizeArg(Args, *I, Kind);</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>     Kind &= ~Remove;</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>   llvm_unreachable(<span class="stringliteral">"arg list didn't provide expected value"</span>);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> }</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> std::string SanitizerArgs::describeSanitizeArg(<span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>                                                <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>                                                <span class="keywordtype">unsigned</span> Mask) {</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   <span class="keywordflow">if</span> (!A->getOption().matches(options::OPT_fsanitize_EQ))</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     <span class="keywordflow">return</span> A->getAsString(Args);</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   std::string Sanitizers;</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = A->getNumValues(); I != N; ++I) {</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     <span class="keywordflow">if</span> (expandGroups(parse(A->getValue(I))) & Mask) {</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>       <span class="keywordflow">if</span> (!Sanitizers.empty())</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>         Sanitizers += <span class="stringliteral">","</span>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>       Sanitizers += A->getValue(I);</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">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   assert(!Sanitizers.empty() && <span class="stringliteral">"arg didn't provide expected value"</span>);</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   <span class="keywordflow">return</span> <span class="stringliteral">"-fsanitize="</span> + Sanitizers;</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="keywordtype">bool</span> SanitizerArgs::getDefaultBlacklistForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keywordtype">unsigned</span> Kind,</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>                                                std::string &BLPath) {</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *BlacklistFile = 0;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="keywordflow">if</span> (Kind & NeedsAsanRt)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>     BlacklistFile = <span class="stringliteral">"asan_blacklist.txt"</span>;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind & NeedsMsanRt)</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>     BlacklistFile = <span class="stringliteral">"msan_blacklist.txt"</span>;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind & NeedsTsanRt)</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>     BlacklistFile = <span class="stringliteral">"tsan_blacklist.txt"</span>;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind & NeedsDfsanRt)</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>     BlacklistFile = <span class="stringliteral">"dfsan_abilist.txt"</span>;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>   <span class="keywordflow">if</span> (BlacklistFile) {</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>     SmallString<64> Path(D.<a class="code" href="classclang_1_1driver_1_1Driver.html#ab6e86cc00f556e22bb9f89d07bfcc065" title="The path to the compiler resource directory.">ResourceDir</a>);</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>     llvm::sys::path::append(Path, BlacklistFile);</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>     BLPath = Path.str();</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   }</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/SanitizerArgs_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,247 @@
+<!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: SanitizerArgs.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">SanitizerArgs.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SanitizerArgs_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/SanitizerArgs.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Driver/Release+Asserts/SanitizerArgs.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SanitizerArgs.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/SanitizerArgs.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/Option/Arg.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.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/Option/Option.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Option/OptTable.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Option/ArgList.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Driver.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Phases.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.def \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/DriverDiagnostic.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticDriverKinds.inc \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.inc \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/ToolChain.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</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="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h</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> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/SanitizerArgs.h:</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> /home/tstellar/llvm/include/llvm/Option/Arg.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</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> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</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> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</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> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> /home/tstellar/llvm/include/llvm/Option/Option.h:</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h:</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> /home/tstellar/llvm/include/llvm/Option/ArgList.h:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Driver.h:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Phases.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.def:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Util.h:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/DriverDiagnostic.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticDriverKinds.inc:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.inc:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/ToolChain.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/SanitizerArgs_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: SanitizerArgs.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">SanitizerArgs.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SanitizerArgs_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">//===--- SanitizerArgs.h - Arguments for sanitizer 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="preprocessor">#ifndef CLANG_LIB_DRIVER_SANITIZERARGS_H_</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="preprocessor"></span><span class="preprocessor">#define CLANG_LIB_DRIVER_SANITIZERARGS_H_</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "llvm/Option/Arg.h"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "llvm/Option/ArgList.h"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="keyword">namespace </span>driver {</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">class </span>Driver;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">class </span>ToolChain;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html">   23</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html">SanitizerArgs</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment">  /// Assign ordinals to sanitizer flags. We'll use the ordinal values as</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment">  /// bit positions within \c Kind.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment"></span>  <span class="keyword">enum</span> SanitizeOrdinal {</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#define SANITIZER(NAME, ID) SO_##ID,</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor"></span><span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) SO_##ID##Group,</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>     SO_Count</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="comment"></span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">  /// Bugs to catch at runtime.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment"></span>  <span class="keyword">enum</span> SanitizeKind {</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="SanitizerArgs_8h.html#a141e897af3d502876011bcf9002b385e">   35</a></span> <span class="preprocessor">#define SANITIZER(NAME, ID) ID = 1 << SO_##ID,</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="SanitizerArgs_8h.html#a6880c3f27cd4321193c73908b32187e9">   36</a></span> <span class="preprocessor"></span><span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS)                                       \</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="preprocessor">  ID = ALIAS, ID##Group = 1 << SO_##ID##Group,</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     NeedsAsanRt = Address,</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     NeedsTsanRt = Thread,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     NeedsMsanRt = Memory,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     NeedsDfsanRt = DataFlow,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     NeedsLeakDetection = Leak,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     NeedsUbsanRt = Undefined | Integer,</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>     NotAllowedWithTrap = Vptr,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>     HasZeroBaseShadow = Thread | Memory | DataFlow</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   };</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   std::string BlacklistFile;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordtype">bool</span> MsanTrackOrigins;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="keywordtype">bool</span> AsanZeroBaseShadow;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   <span class="keywordtype">bool</span> UbsanTrapOnError;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs</a>();<span class="comment"></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">  /// Parses the sanitizer arguments from an argument list.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment"></span>  <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs</a>(<span class="keyword">const</span> ToolChain &TC, <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a53e815989559c72ae5a4f667001d12e1">   60</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a53e815989559c72ae5a4f667001d12e1">needsAsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsAsanRt; }</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a1c20248bb8233e287d61e1f9375712d8">   61</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a1c20248bb8233e287d61e1f9375712d8">needsTsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsTsanRt; }</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a21cde755d40168d70c71964a9f3f6dcb">   62</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a21cde755d40168d70c71964a9f3f6dcb">needsMsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsMsanRt; }</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a5e95ccba78fed4da6e9599a37239c124">   63</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a5e95ccba78fed4da6e9599a37239c124">needsLeakDetection</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsLeakDetection; }</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#aca50814dbc0ae09a70183497fbf2fd79">   64</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#aca50814dbc0ae09a70183497fbf2fd79">needsLsanRt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a5e95ccba78fed4da6e9599a37239c124">needsLeakDetection</a>() && !<a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a53e815989559c72ae5a4f667001d12e1">needsAsanRt</a>();</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   }</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a185c8253eac56bac733045820d85eaeb">   67</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a185c8253eac56bac733045820d85eaeb">needsUbsanRt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <span class="keywordflow">return</span> !UbsanTrapOnError && (<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsUbsanRt);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   }</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a3afca23fe97ec46a07583719d789a1f9">   70</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a3afca23fe97ec46a07583719d789a1f9">needsDfsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsDfsanRt; }</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_1SanitizerArgs.html#a8ebbab65aa6befb1d0cbb7cc9f7183d5">   72</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a8ebbab65aa6befb1d0cbb7cc9f7183d5">sanitizesVptr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & Vptr; }</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a865970f2c10810effa579f0c724e5145">   73</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a865970f2c10810effa579f0c724e5145">notAllowedWithTrap</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NotAllowedWithTrap; }</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a101b67766985a4f854f8c0730e3264ee">   74</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a101b67766985a4f854f8c0730e3264ee">hasZeroBaseShadow</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>     <span class="keywordflow">return</span> (<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & HasZeroBaseShadow) || AsanZeroBaseShadow;</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="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ad57172a4740b38ed4f8a8bb7f7d73758">addArgs</a>(<span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                llvm::opt::ArgStringList &CmdArgs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   <span class="keywordtype">void</span> clear();</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">  /// Parse a single value from a -fsanitize= or -fno-sanitize= value list.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">  /// Returns OR of members of the \c SanitizeKind enumeration, or \c 0</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">  /// if \p Value is not known.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> parse(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment"></span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">  /// Parse a -fsanitize= or -fno-sanitize= argument's values, diagnosing any</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">  /// invalid components.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>                         <span class="keywordtype">bool</span> DiagnoseErrors);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="comment"></span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> <span class="comment">  /// Parse a single flag of the form -f[no]sanitize=, or</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> <span class="comment">  /// -f*-sanitizer. Sets the masks defining required change of Kind value.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> <span class="comment">  /// Returns true if the flag was parsed successfully.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>                     <span class="keyword">const</span> llvm::opt::Arg *A, <span class="keywordtype">unsigned</span> &Add, <span class="keywordtype">unsigned</span> &Remove,</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>                     <span class="keywordtype">bool</span> DiagnoseErrors);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// Produce an argument string from ArgList \p Args, which shows how it</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">  /// provides a sanitizer kind in \p Mask. For example, the argument list</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">  /// "-fsanitize=thread,vptr -faddress-sanitizer" with mask \c NeedsUbsanRt</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <span class="comment">  /// would produce "-fsanitize=vptr".</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment"></span>  <span class="keyword">static</span> std::string lastArgumentForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D,</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>                                          <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>                                          <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</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">  /// Produce an argument string from argument \p A, which shows how it provides</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">  /// a value in \p Mask. For instance, the argument</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  /// "-fsanitize=address,alignment" with mask \c NeedsUbsanRt would produce</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">  /// "-fsanitize=alignment".</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment"></span>  <span class="keyword">static</span> std::string describeSanitizeArg(<span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>                                          <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>                                          <span class="keywordtype">unsigned</span> Mask);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> getDefaultBlacklistForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                                          std::string &BLPath);</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">  /// Return the smallest superset of sanitizer set \p Kinds such that each</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  /// member of each group whose flag is set in \p Kinds has its flag set in the</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment">  /// result.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> expandGroups(<span class="keywordtype">unsigned</span> Kinds);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">  /// Return the subset of \p Kinds supported by toolchain \p TC.  If</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">  /// \p DiagnoseErrors is true, produce an error diagnostic for each sanitizer</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">  /// removed from \p Kinds.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> filterUnsupportedKinds(<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, <span class="keywordtype">unsigned</span> Kinds,</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>                                          <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>                                          <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>                                          <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>                                          <span class="keywordtype">unsigned</span> &DiagnosedKinds);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">  /// The flags in \p Mask are unsupported by \p TC.  If present in \p Kinds,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">  /// remove them and produce an error diagnostic referring to \p A if</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">  /// \p DiagnoseErrors is true.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> filterUnsupportedMask(<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, <span class="keywordtype">unsigned</span> &Kinds,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>                                     <span class="keywordtype">unsigned</span> Mask,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>                                     <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>                                     <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>                                     <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                                     <span class="keywordtype">unsigned</span> &DiagnosedKinds);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> };</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> }  <span class="comment">// namespace driver</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> }  <span class="comment">// namespace clang</span></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> <span class="preprocessor">#endif // CLANG_LIB_DRIVER_SANITIZERARGS_H_</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/ScanfFormatString_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ScanfFormatString_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ScanfFormatString_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ScanfFormatString_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,601 @@
+<!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: ScanfFormatString.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_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ScanfFormatString.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ScanfFormatString_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">//= ScanfFormatString.cpp - Analysis of printf format strings --*- 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">// Handling of format string in scanf and friends.  The structure of format</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// strings for fscanf() are described in C99 7.19.6.2.</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="FormatString_8h.html">clang/Analysis/Analyses/FormatString.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="FormatStringParsing_8h.html">FormatStringParsing.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> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">clang::analyze_format_string::ArgType</a>;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">clang::analyze_format_string::FormatStringHandler</a>;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">clang::analyze_format_string::LengthModifier</a>;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">clang::analyze_format_string::OptionalAmount</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">clang::analyze_format_string::ConversionSpecifier</a>;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">clang::analyze_scanf::ScanfConversionSpecifier</a>;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">clang::analyze_scanf::ScanfSpecifier</a>;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1UpdateOnReturn.html">clang::UpdateOnReturn</a>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html">clang::analyze_format_string::SpecifierResult<ScanfSpecifier></a></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="ScanfFormatString_8cpp.html#ae08b4de52506d51650a102ecfabe15d4">   30</a></span>         <a class="code" href="ScanfFormatString_8cpp.html#ae08b4de52506d51650a102ecfabe15d4">ScanfSpecifierResult</a>;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="ScanfFormatString_8cpp.html#a17457abe8a90e05ddb57662f14172b98">   32</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="ScanfFormatString_8cpp.html#a17457abe8a90e05ddb57662f14172b98">ParseScanList</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>                           <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> &CS,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>                           <span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *E) {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *start = I - 1;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <a class="code" href="classclang_1_1UpdateOnReturn.html">UpdateOnReturn <const char*></a> UpdateBeg(Beg, I);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="comment">// No more characters?</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(start, I);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   }</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="comment">// Special case: ']' is the first character.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keywordflow">if</span> (*I == <span class="charliteral">']'</span>) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <span class="keywordflow">if</span> (++I == E) {</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(start, I - 1);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     }</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   }</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   <span class="comment">// Look for a ']' character which denotes the end of the scan list.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="keywordflow">while</span> (*I != <span class="charliteral">']'</span>) {</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="keywordflow">if</span> (++I == E) {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(start, I - 1);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>     }</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   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">   61</span>   CS.<a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#ab70cd6fbf8283afde86c3cfb17bdb1e7">setEndScanList</a>(I);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">// FIXME: Much of this is copy-paste from ParsePrintfSpecifier.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">// We can possibly refactor.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="ScanfFormatString_8cpp.html#a7cd8042fccf86f89775553b58e480b8c">   67</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html">ScanfSpecifierResult</a> <a class="code" href="ScanfFormatString_8cpp.html#a7cd8042fccf86f89775553b58e480b8c">ParseScanfSpecifier</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>                                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>                                                 <span class="keywordtype">unsigned</span> &argIndex,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</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> &LO,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &Target) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>   <span class="keyword">using namespace </span>clang::analyze_scanf;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *Start = 0;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   <a class="code" href="classclang_1_1UpdateOnReturn.html">UpdateOnReturn <const char*></a> UpdateBeg(Beg, I);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="comment">// Look for a '%' character that indicates the start of a format specifier.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   <span class="keywordflow">for</span> ( ; I != E ; ++I) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keywordtype">char</span> c = *I;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     <span class="keywordflow">if</span> (c == <span class="charliteral">'\0'</span>) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>         <span class="comment">// Detect spurious null characters, which are likely errors.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a9c1f8e30343640d08cac15dae21f76b6">HandleNullChar</a>(I);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     }</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>     <span class="keywordflow">if</span> (c == <span class="charliteral">'%'</span>) {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>       Start = I++;  <span class="comment">// Record the start of the format specifier.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>       <span class="keywordflow">break</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>   }</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="comment">// No format specifier found?</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keywordflow">if</span> (!Start)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">ScanfSpecifier</a> FS;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1analyze__format__string.html#ad97cb45df8d6378ec063ee8e16e5ff75">ParseArgPosition</a>(H, FS, Start, I, E))</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>       <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   }</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>   <span class="comment">// Look for '*' flag if it is present.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <span class="keywordflow">if</span> (*I == <span class="charliteral">'*'</span>) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     FS.setSuppressAssignment(I);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>     <span class="keywordflow">if</span> (++I == E) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     }</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   }</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="comment">// Look for the field width (if any).  Unlike printf, this is either</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="comment">// a fixed integer or isn't present.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> &Amt = <a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">clang::analyze_format_string::ParseAmount</a>(I, E);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   <span class="keywordflow">if</span> (Amt.getHowSpecified() != OptionalAmount::NotSpecified) {</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     assert(Amt.getHowSpecified() == OptionalAmount::Constant);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>     FS.setFieldWidth(Amt);</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>     <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>       <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   }</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="comment">// Look for the length modifier.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1analyze__format__string.html#ac7fa3f3d47a0a19a04519dcdaf829343">ParseLengthModifier</a>(FS, I, E, LO, <span class="comment">/*scanf=*/</span><span class="keyword">true</span>) && I == E) {</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>       <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="keywordflow">return</span> <span class="keyword">true</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="comment">// Detect spurious null characters, which are likely errors.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   <span class="keywordflow">if</span> (*I == <span class="charliteral">'\0'</span>) {</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a9c1f8e30343640d08cac15dae21f76b6">HandleNullChar</a>(I);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     <span class="keywordflow">return</span> <span class="keyword">true</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">// Finally, look for the conversion specifier.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *conversionPosition = I++;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">ScanfConversionSpecifier::Kind</a> k = ScanfConversionSpecifier::InvalidSpecifier;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="keywordflow">switch</span> (*conversionPosition) {</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <span class="keywordflow">case</span> <span class="charliteral">'%'</span>: k = ConversionSpecifier::PercentArg;   <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">case</span> <span class="charliteral">'A'</span>: k = ConversionSpecifier::AArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     <span class="keywordflow">case</span> <span class="charliteral">'E'</span>: k = ConversionSpecifier::EArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     <span class="keywordflow">case</span> <span class="charliteral">'F'</span>: k = ConversionSpecifier::FArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>     <span class="keywordflow">case</span> <span class="charliteral">'G'</span>: k = ConversionSpecifier::GArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     <span class="keywordflow">case</span> <span class="charliteral">'X'</span>: k = ConversionSpecifier::XArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     <span class="keywordflow">case</span> <span class="charliteral">'a'</span>: k = ConversionSpecifier::aArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: k = ConversionSpecifier::dArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     <span class="keywordflow">case</span> <span class="charliteral">'e'</span>: k = ConversionSpecifier::eArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>     <span class="keywordflow">case</span> <span class="charliteral">'f'</span>: k = ConversionSpecifier::fArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>     <span class="keywordflow">case</span> <span class="charliteral">'g'</span>: k = ConversionSpecifier::gArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <span class="keywordflow">case</span> <span class="charliteral">'i'</span>: k = ConversionSpecifier::iArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordflow">case</span> <span class="charliteral">'n'</span>: k = ConversionSpecifier::nArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>     <span class="keywordflow">case</span> <span class="charliteral">'c'</span>: k = ConversionSpecifier::cArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     <span class="keywordflow">case</span> <span class="charliteral">'C'</span>: k = ConversionSpecifier::CArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     <span class="keywordflow">case</span> <span class="charliteral">'S'</span>: k = ConversionSpecifier::SArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     <span class="keywordflow">case</span> <span class="charliteral">'['</span>: k = ConversionSpecifier::ScanListArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     <span class="keywordflow">case</span> <span class="charliteral">'u'</span>: k = ConversionSpecifier::uArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     <span class="keywordflow">case</span> <span class="charliteral">'x'</span>: k = ConversionSpecifier::xArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">case</span> <span class="charliteral">'o'</span>: k = ConversionSpecifier::oArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     <span class="keywordflow">case</span> <span class="charliteral">'s'</span>: k = ConversionSpecifier::sArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>     <span class="keywordflow">case</span> <span class="charliteral">'p'</span>: k = ConversionSpecifier::pArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="comment">// Apple extensions</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <span class="comment">// Apple-specific</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <span class="keywordflow">case</span> <span class="charliteral">'D'</span>:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>       <span class="keywordflow">if</span> (Target.<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>().isOSDarwin())</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>         k = ConversionSpecifier::DArg;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     <span class="keywordflow">case</span> <span class="charliteral">'O'</span>:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>       <span class="keywordflow">if</span> (Target.<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>().isOSDarwin())</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>         k = ConversionSpecifier::OArg;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     <span class="keywordflow">case</span> <span class="charliteral">'U'</span>:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>       <span class="keywordflow">if</span> (Target.<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>().isOSDarwin())</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>         k = ConversionSpecifier::UArg;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>       <span class="keywordflow">break</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>   <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> CS(conversionPosition, k);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="keywordflow">if</span> (k == ScanfConversionSpecifier::ScanListArg) {</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     <span class="keywordflow">if</span> (<a class="code" href="ScanfFormatString_8cpp.html#a17457abe8a90e05ddb57662f14172b98">ParseScanList</a>(H, CS, I, E))</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>       <span class="keywordflow">return</span> <span class="keyword">true</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>   FS.setConversionSpecifier(CS);</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>   <span class="keywordflow">if</span> (CS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>() && !FS.getSuppressAssignment()</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>       && !FS.usesPositionalArg())</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     FS.setArgIndex(argIndex++);</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>   <span class="comment">// FIXME: '%' and '*' doesn't make sense.  Issue a warning.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   <span class="comment">// FIXME: 'ConsumedSoFar' and '*' doesn't make sense.</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">  205</span>   <span class="keywordflow">if</span> (k == ScanfConversionSpecifier::InvalidSpecifier) {</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>     <span class="comment">// Assume the conversion takes one argument.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>     <span class="keywordflow">return</span> !H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#afc5ecd927d044433bda337f0171e7809">HandleInvalidScanfConversionSpecifier</a>(FS, Beg, I - Beg);</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="keywordflow">return</span> <a class="code" href="ScanfFormatString_8cpp.html#ae08b4de52506d51650a102ecfabe15d4">ScanfSpecifierResult</a>(Start, FS);</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> </div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a0a02eecb52cb3f9bc302cc7d5159b058">  212</a></span> ArgType ScanfSpecifier::getArgType(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Ctx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> &CS = getConversionSpecifier();</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="keywordflow">if</span> (!CS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>())</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>     <span class="keywordflow">return</span> ArgType::Invalid();</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <span class="keywordflow">switch</span>(CS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     <span class="comment">// Signed int.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <span class="keywordflow">case</span> ConversionSpecifier::dArg:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     <span class="keywordflow">case</span> ConversionSpecifier::DArg:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>     <span class="keywordflow">case</span> ConversionSpecifier::iArg:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>       <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>         <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>         <span class="keywordflow">case</span> LengthModifier::AsChar:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::AnyCharTy);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>         <span class="keywordflow">case</span> LengthModifier::AsShort:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac369991763a2aa6bf9a8a3ded653afd8">ShortTy</a>);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>         <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a0ba7f01d5d975ce7f18b482b052f10fb">LongTy</a>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>         <span class="keywordflow">case</span> LengthModifier::AsLongLong:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>         <span class="keywordflow">case</span> LengthModifier::AsQuad:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>);</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>         <span class="keywordflow">case</span> LengthModifier::AsInt64:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>, <span class="stringliteral">"__int64"</span>));</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>         <span class="keywordflow">case</span> LengthModifier::AsIntMax:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac452fb63a245bfca5f8224fdfefbcb6d" title="Return the unique type for "intmax_t" (C99 7.18.1.5), defined in <stdint.h>.">getIntMaxType</a>(), <span class="stringliteral">"intmax_t"</span>));</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>         <span class="keywordflow">case</span> LengthModifier::AsSizeT:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>           <span class="comment">// FIXME: ssize_t.</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>           <span class="keywordflow">return</span> ArgType();</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>         <span class="keywordflow">case</span> LengthModifier::AsPtrDiff:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#abdf7588b14d9fa2a1ee40900a0253885" title="Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>. Pointer - pointer requires t...">getPointerDiffType</a>(), <span class="stringliteral">"ptrdiff_t"</span>));</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>         <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>           <span class="comment">// GNU extension.</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>         <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>         <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>         <span class="keywordflow">case</span> LengthModifier::AsInt32:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>         <span class="keywordflow">case</span> LengthModifier::AsInt3264:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>           <span class="keywordflow">return</span> ArgType::Invalid();</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>       }</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="comment">// Unsigned int.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">case</span> ConversionSpecifier::oArg:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keywordflow">case</span> ConversionSpecifier::OArg:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <span class="keywordflow">case</span> ConversionSpecifier::uArg:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">case</span> ConversionSpecifier::UArg:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     <span class="keywordflow">case</span> ConversionSpecifier::xArg:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <span class="keywordflow">case</span> ConversionSpecifier::XArg:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>       <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>         <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#aad4fc6bf8d266a4dbc03cd9d3a86aab4">UnsignedIntTy</a>);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>         <span class="keywordflow">case</span> LengthModifier::AsChar:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#aab61651b1e4d7e541343e7155263e861">UnsignedCharTy</a>);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>         <span class="keywordflow">case</span> LengthModifier::AsShort:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab9a777cc7ccb5b943f68c7d443b3cc86">UnsignedShortTy</a>);</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>         <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a76182acff43ec4d01c06751bb8a2f7bc">UnsignedLongTy</a>);</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>         <span class="keywordflow">case</span> LengthModifier::AsLongLong:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>         <span class="keywordflow">case</span> LengthModifier::AsQuad:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>         <span class="keywordflow">case</span> LengthModifier::AsInt64:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>, <span class="stringliteral">"unsigned __int64"</span>));</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>         <span class="keywordflow">case</span> LengthModifier::AsIntMax:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a2f7b854e2f9a0526c01a473bdc9dfe44" title="Return the unique type for "uintmax_t" (C99 7.18.1.5), defined in <stdint.h>.">getUIntMaxType</a>(), <span class="stringliteral">"uintmax_t"</span>));</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>         <span class="keywordflow">case</span> LengthModifier::AsSizeT:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ae3093bf57c46337c9a3f2f42ad8764ee" title="Return the unique type for "size_t" (C99 7.17), defined in <stddef.h>.">getSizeType</a>(), <span class="stringliteral">"size_t"</span>));</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>         <span class="keywordflow">case</span> LengthModifier::AsPtrDiff:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>           <span class="comment">// FIXME: Unsigned version of ptrdiff_t?</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>           <span class="keywordflow">return</span> ArgType();</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>         <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>           <span class="comment">// GNU extension.</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>         <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>         <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>         <span class="keywordflow">case</span> LengthModifier::AsInt32:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>         <span class="keywordflow">case</span> LengthModifier::AsInt3264:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>           <span class="keywordflow">return</span> ArgType::Invalid();</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> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     <span class="comment">// Float.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     <span class="keywordflow">case</span> ConversionSpecifier::aArg:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     <span class="keywordflow">case</span> ConversionSpecifier::AArg:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     <span class="keywordflow">case</span> ConversionSpecifier::eArg:</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>     <span class="keywordflow">case</span> ConversionSpecifier::EArg:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>     <span class="keywordflow">case</span> ConversionSpecifier::fArg:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <span class="keywordflow">case</span> ConversionSpecifier::FArg:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     <span class="keywordflow">case</span> ConversionSpecifier::gArg:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>     <span class="keywordflow">case</span> ConversionSpecifier::GArg:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>       <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>         <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a30d239b8f8a7995d23cb4349038fa74f">FloatTy</a>);</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>         <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a366594144d93311decc086cb980d69c2">DoubleTy</a>);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>         <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3c4917789ce7a56eb126523906975140">LongDoubleTy</a>);</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>           <span class="keywordflow">return</span> ArgType::Invalid();</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> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>     <span class="comment">// Char, string and scanlist.</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     <span class="keywordflow">case</span> ConversionSpecifier::cArg:</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     <span class="keywordflow">case</span> ConversionSpecifier::sArg:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     <span class="keywordflow">case</span> ConversionSpecifier::ScanListArg:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>       <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>         <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::AnyCharTy);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>         <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#af57de277fc43b9496acfac201da19c37" title="Return the type of wide characters. In C++, this returns the unique wchar_t type. In C99...">getWideCharType</a>(), <span class="stringliteral">"wchar_t"</span>));</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>         <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>         <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::CStrTy);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>           <span class="keywordflow">return</span> ArgType::Invalid();</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>       }</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>     <span class="keywordflow">case</span> ConversionSpecifier::CArg:</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     <span class="keywordflow">case</span> ConversionSpecifier::SArg:</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>       <span class="comment">// FIXME: Mac OS X specific?</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>       <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>         <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#af57de277fc43b9496acfac201da19c37" title="Return the type of wide characters. In C++, this returns the unique wchar_t type. In C99...">getWideCharType</a>(), <span class="stringliteral">"wchar_t"</span>));</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>         <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>         <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(ArgType::WCStrTy, <span class="stringliteral">"wchar_t *"</span>));</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>           <span class="keywordflow">return</span> ArgType::Invalid();</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> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>     <span class="comment">// Pointer.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <span class="keywordflow">case</span> ConversionSpecifier::pArg:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>       <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::CPointerTy);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>     <span class="comment">// Write-back.</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <span class="keywordflow">case</span> ConversionSpecifier::nArg:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>       <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>         <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>         <span class="keywordflow">case</span> LengthModifier::AsChar:</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a92063d19fd6dd12d2d3c1a016ffc849f">SignedCharTy</a>);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>         <span class="keywordflow">case</span> LengthModifier::AsShort:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac369991763a2aa6bf9a8a3ded653afd8">ShortTy</a>);</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>         <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a0ba7f01d5d975ce7f18b482b052f10fb">LongTy</a>);</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>         <span class="keywordflow">case</span> LengthModifier::AsLongLong:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>         <span class="keywordflow">case</span> LengthModifier::AsQuad:</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>           <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>         <span class="keywordflow">case</span> LengthModifier::AsInt64:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>, <span class="stringliteral">"__int64"</span>));</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>         <span class="keywordflow">case</span> LengthModifier::AsIntMax:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac452fb63a245bfca5f8224fdfefbcb6d" title="Return the unique type for "intmax_t" (C99 7.18.1.5), defined in <stdint.h>.">getIntMaxType</a>(), <span class="stringliteral">"intmax_t"</span>));</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>         <span class="keywordflow">case</span> LengthModifier::AsSizeT:</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>           <span class="keywordflow">return</span> ArgType(); <span class="comment">// FIXME: ssize_t</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>         <span class="keywordflow">case</span> LengthModifier::AsPtrDiff:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>           <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#abdf7588b14d9fa2a1ee40900a0253885" title="Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>. Pointer - pointer requires t...">getPointerDiffType</a>(), <span class="stringliteral">"ptrdiff_t"</span>));</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>         <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>           <span class="keywordflow">return</span> ArgType(); <span class="comment">// FIXME: Is this a known extension?</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>         <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>         <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>         <span class="keywordflow">case</span> LengthModifier::AsInt32:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>         <span class="keywordflow">case</span> LengthModifier::AsInt3264:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>           <span class="keywordflow">return</span> ArgType::Invalid();</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">  375</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   }</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keywordflow">return</span> ArgType();</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> }</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#af221b74797cf9f97b898d26bbac08f06">  382</a></span> <span class="keywordtype">bool</span> ScanfSpecifier::fixType(<a class="code" href="classclang_1_1QualType.html">QualType</a> QT, <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> &LangOpt,</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>                              <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Ctx) {</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="keywordflow">if</span> (!QT-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>())</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   <span class="comment">// %n is different from other conversion specifiers; don't try to fix it.</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   <span class="keywordflow">if</span> (CS.getKind() == ConversionSpecifier::nArg)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>     <span class="keywordflow">return</span> <span class="keyword">false</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> PT = QT-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>   <span class="comment">// If it's an enum, get its underlying type.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1EnumType.html">EnumType</a> *ETy = QT-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1EnumType.html">EnumType</a>>())</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     QT = ETy->getDecl()->getIntegerType();</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BT = PT-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a>>();</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>   <span class="keywordflow">if</span> (!BT)</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <span class="comment">// Pointer to a character.</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#a55acffec6117bb5e10343ad3ed839245" title="Determine whether this type is any of the built-in character types.">isAnyCharacterType</a>()) {</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>     CS.setKind(ConversionSpecifier::sArg);</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#a3014dfbf688469a7502d73ff2c6b4194">isWideCharType</a>())</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>       LM.setKind(LengthModifier::AsWideChar);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>       LM.setKind(LengthModifier::None);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   }</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   <span class="comment">// Figure out the length modifier.</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   <span class="keywordflow">switch</span> (BT-><a class="code" href="classclang_1_1BuiltinType.html#aa4dd813e340ed81bcb67bf090152af2a">getKind</a>()) {</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     <span class="comment">// no modifier</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     <span class="keywordflow">case</span> BuiltinType::UInt:</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>     <span class="keywordflow">case</span> BuiltinType::Int:</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>     <span class="keywordflow">case</span> BuiltinType::Float:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>       LM.setKind(LengthModifier::None);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>     <span class="comment">// hh</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>     <span class="keywordflow">case</span> BuiltinType::Char_U:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>     <span class="keywordflow">case</span> BuiltinType::UChar:</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>     <span class="keywordflow">case</span> BuiltinType::Char_S:</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>     <span class="keywordflow">case</span> BuiltinType::SChar:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>       LM.setKind(LengthModifier::AsChar);</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     <span class="comment">// h</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>     <span class="keywordflow">case</span> BuiltinType::Short:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>     <span class="keywordflow">case</span> BuiltinType::UShort:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>       LM.setKind(LengthModifier::AsShort);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>     <span class="comment">// l</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>     <span class="keywordflow">case</span> BuiltinType::Long:</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>     <span class="keywordflow">case</span> BuiltinType::ULong:</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>     <span class="keywordflow">case</span> BuiltinType::Double:</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>       LM.setKind(LengthModifier::AsLong);</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>     <span class="comment">// ll</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>     <span class="keywordflow">case</span> BuiltinType::LongLong:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>     <span class="keywordflow">case</span> BuiltinType::ULongLong:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>       LM.setKind(LengthModifier::AsLongLong);</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>     <span class="comment">// L</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="keywordflow">case</span> BuiltinType::LongDouble:</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>       LM.setKind(LengthModifier::AsLongDouble);</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>       <span class="keywordflow">break</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="comment">// Don't know.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>   }</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>   <span class="comment">// Handle size_t, ptrdiff_t, etc. that have dedicated length modifiers in C99.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>   <span class="keywordflow">if</span> (isa<TypedefType>(PT) && (LangOpt.C99 || LangOpt.CPlusPlus11))</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>     namedTypeToLengthModifier(PT, LM);</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   <span class="comment">// If fixing the length modifier was enough, we are done.</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   <span class="keywordflow">if</span> (hasValidLengthModifier(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>())) {</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>     <span class="keyword">const</span> analyze_scanf::ArgType &AT = getArgType(Ctx);</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>     <span class="keywordflow">if</span> (AT.isValid() && AT.matchesType(Ctx, QT))</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>       <span class="keywordflow">return</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>   <span class="comment">// Figure out the conversion specifier.</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#a1c534c15a8299e5d31f356edb725c31f" title="Floating point categories.">isRealFloatingType</a>())</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>     CS.setKind(ConversionSpecifier::fArg);</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#accbf40bf016c5bc6dd5440b454d697b6">isSignedIntegerType</a>())</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>     CS.setKind(ConversionSpecifier::dArg);</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#aa82feef1511943cfa01bba0ffc97d22c">isUnsignedIntegerType</a>())</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>     CS.setKind(ConversionSpecifier::uArg);</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>     llvm_unreachable(<span class="stringliteral">"Unexpected type"</span>);</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> }</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#ad09401ad2d4c1d88015bd6f511f3ebce">  481</a></span> <span class="keywordtype">void</span> <a class="code" href="AnalyzerOptions_8cpp.html#aa42b56c0f1a6fd7cfc7003117641f6a5">ScanfSpecifier::toString</a>(raw_ostream &os)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   os << <span class="stringliteral">"%"</span>;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   <span class="keywordflow">if</span> (usesPositionalArg())</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>     os << getPositionalArgIndex() << <span class="stringliteral">"$"</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>   <span class="keywordflow">if</span> (SuppressAssignment)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>     os << <span class="stringliteral">"*"</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>   FieldWidth.toString(os);</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   os << LM.toString();</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   os << CS.toString();</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> }</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#af090016fd7bafde22c843e925d696b3d">  494</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#af090016fd7bafde22c843e925d696b3d">clang::analyze_format_string::ParseScanfString</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>                                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *I,</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>                                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</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> &LO,</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>                                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &Target) {</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>   <span class="keywordtype">unsigned</span> argIndex = 0;</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>   </div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <span class="comment">// Keep looking for a format specifier until we have exhausted the string.</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>   <span class="keywordflow">while</span> (I != E) {</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html">ScanfSpecifierResult</a> &FSR = <a class="code" href="ScanfFormatString_8cpp.html#a7cd8042fccf86f89775553b58e480b8c">ParseScanfSpecifier</a>(H, I, E, argIndex,</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>                                                           LO, Target);</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="comment">// Did a fail-stop error of any kind occur when parsing the specifier?</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="comment">// If so, don't do any more processing.</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     <span class="keywordflow">if</span> (FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#a79df4ada1477e92835d20373d6f6bd8b">shouldStop</a>())</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>       <span class="comment">// Did we exhaust the string or encounter an error that</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>       <span class="comment">// we can recover from?</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>     <span class="keywordflow">if</span> (!FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#a0cbcf9e3550939eb641740eea1ddf42c">hasValue</a>())</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>       <span class="comment">// We have a format specifier.  Pass it to the callback.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>     <span class="keywordflow">if</span> (!H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aeac4749d62478cc736cebd4f6fe7c9bc">HandleScanfSpecifier</a>(FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#ad90334e7d6f94ba694c98da0471d6637">getValue</a>(), FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#abf8b43a094dfe310a968a7971ea97fed">getStart</a>(),</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>                                 I - FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#abf8b43a094dfe310a968a7971ea97fed">getStart</a>())) {</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>     }</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   }</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>   assert(I == E && <span class="stringliteral">"Format string not exhausted"</span>);</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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