[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/SemaOverload_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaOverload_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaOverload_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaOverload_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,622 @@
+<!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: SemaOverload.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_0c3cadfa2fbef89a3b8f57073e8a31f9.html">Sema</a></li><li class="navelem"><a class="el" href="dir_eb0099ce9b4bd055698282f76081f892.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SemaOverload.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaOverload_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/Sema/Release+Asserts/SemaOverload.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Sema/Release+Asserts/SemaOverload.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SemaOverload.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.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/PointerUnion.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.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/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CXXInheritance.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Lookup.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Template.h \</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclVisitor.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclFriend.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclOpenMP.h</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> </div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h:</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> </div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> </div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CXXInheritance.h:</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeOrdering.h:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetInfo.h:</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetCXXABI.h:</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h:</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h:</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h:</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h:</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h:</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h:</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Lookup.h:</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/MangleNumberingContext.h:</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.h:</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.h:</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> </div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h:</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> </div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.h:</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> </div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h:</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> </div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc:</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> </div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h:</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.h:</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h:</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.h:</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> </div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.h:</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ObjCMethodList.h:</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span> </div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.h:</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h:</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> </div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h:</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> </div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h:</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> </div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h:</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span> </div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.h:</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span> </div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h:</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> </div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc:</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Template.h:</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> </div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclVisitor.h:</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> </div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclFriend.h:</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclOpenMP.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:07 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/SemaPseudoObject_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaPseudoObject_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaPseudoObject_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaPseudoObject_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1680 @@
+<!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: SemaPseudoObject.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_0c3cadfa2fbef89a3b8f57073e8a31f9.html">Sema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SemaPseudoObject.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaPseudoObject_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">//===--- SemaPseudoObject.cpp - Semantic Analysis for Pseudo-Objects ------===//</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 semantic analysis for expressions involving</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  pseudo-object references.  Pseudo-objects are conceptual objects</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//  whose storage is entirely abstract and all accesses to which are</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//  translated through some sort of abstraction barrier.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment">//  For example, Objective-C objects can have "properties", either</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment">//  declared or undeclared.  A property may be accessed by writing</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment">//    expr.prop</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="comment">//  where 'expr' is an r-value of Objective-C pointer type and 'prop'</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment">//  is the name of the property.  If this expression is used in a context</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment">//  needing an r-value, it is treated as if it were a message-send</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment">//  of the associated 'getter' selector, typically:</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="comment">//    [expr prop]</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="comment">//  If it is used as the LHS of a simple assignment, it is treated</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment">//  as a message-send of the associated 'setter' selector, typically:</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment">//    [expr setProp: RHS]</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment">//  If it is used as the LHS of a compound assignment, or the operand</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment">//  of a unary increment or decrement, both are required;  for example,</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">//  'expr.prop *= 100' would be translated to:</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">//    [expr setProp: [expr prop] * 100]</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">//</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">   33</span> <span class="preprocessor">#include "<a class="code" href="SemaInternal_8h.html">clang/Sema/SemaInternal.h</a>"</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="preprocessor">#include "<a class="code" href="ExprObjC_8h.html">clang/AST/ExprObjC.h</a>"</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="preprocessor">#include "<a class="code" href="CharInfo_8h.html">clang/Basic/CharInfo.h</a>"</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="preprocessor">#include "<a class="code" href="Initialization_8h.html">clang/Sema/Initialization.h</a>"</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="preprocessor">#include "<a class="code" href="ScopeInfo_8h.html">clang/Sema/ScopeInfo.h</a>"</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="keyword">using namespace </span>sema;</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">namespace </span>{</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="comment">// Basically just a very focused copy of TreeTransform.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>Rebuilder {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     Rebuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) : S(S) {}</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>     T &getDerived() { <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T&<span class="keyword">></span>(*this); }</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>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuild(<a class="code" href="classclang_1_1Expr.html">Expr</a> *e) {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>       <span class="comment">// Fast path: nothing to look through.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>       <span class="keywordflow">if</span> (<span class="keyword">typename</span> T::specific_type *specific</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>             = dyn_cast<typename T::specific_type>(e))</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>         <span class="keywordflow">return</span> getDerived().rebuildSpecific(specific);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>       <span class="comment">// Otherwise, we should look through and rebuild anything that</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>       <span class="comment">// IgnoreParens would.</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>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ParenExpr.html">ParenExpr</a> *parens = dyn_cast<ParenExpr>(e)) {</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>         e = rebuild(parens->getSubExpr());</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>         <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1ParenExpr.html">ParenExpr</a>(parens->getLParen(),</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>                                          parens->getRParen(),</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>                                          e);</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> </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *uop = dyn_cast<UnaryOperator>(e)) {</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>         assert(uop->getOpcode() == <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffadc9189ae28cc27f4b3170faeb8ea61b5">UO_Extension</a>);</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>         e = rebuild(uop->getSubExpr());</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>         <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a>(e, uop->getOpcode(),</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>                                              uop->getType(),</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>                                              uop->getValueKind(),</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>                                              uop->getObjectKind(),</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>                                              uop->getOperatorLoc());</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> </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1GenericSelectionExpr.html" title="Represents a C11 generic selection.">GenericSelectionExpr</a> *gse = dyn_cast<GenericSelectionExpr>(e)) {</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>         assert(!gse->isResultDependent());</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>         <span class="keywordtype">unsigned</span> resultIndex = gse->getResultIndex();</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>         <span class="keywordtype">unsigned</span> numAssocs = gse->getNumAssocs();</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>         <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<Expr*, 8></a> assocs(numAssocs);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>         <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<TypeSourceInfo*, 8></a> assocTypes(numAssocs);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>         <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != numAssocs; ++i) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>           <a class="code" href="classclang_1_1Expr.html">Expr</a> *assoc = gse->getAssocExpr(i);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>           <span class="keywordflow">if</span> (i == resultIndex) assoc = rebuild(assoc);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>           assocs[i] = assoc;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>           assocTypes[i] = gse->getAssocTypeSourceInfo(i);</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="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1GenericSelectionExpr.html" title="Represents a C11 generic selection.">GenericSelectionExpr</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>                                                     gse->getGenericLoc(),</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>                                                     gse->getControllingExpr(),</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>                                                     assocTypes,</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>                                                     assocs,</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>                                                     gse->getDefaultLoc(),</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>                                                     gse->getRParenLoc(),</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>                                       gse->containsUnexpandedParameterPack(),</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>                                                     resultIndex);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>       }</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ChooseExpr.html">ChooseExpr</a> *ce = dyn_cast<ChooseExpr>(e)) {</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>         assert(!ce->isConditionDependent());</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>         <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS = ce->getLHS(), *RHS = ce->getRHS();</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>         <a class="code" href="classclang_1_1Expr.html">Expr</a> *&rebuiltExpr = ce->isConditionTrue() ? LHS : RHS;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>         rebuiltExpr = rebuild(rebuiltExpr);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>         <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1ChooseExpr.html">ChooseExpr</a>(ce->getBuiltinLoc(),</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>                                           ce->getCond(),</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>                                           LHS, RHS,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>                                           rebuiltExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>                                           rebuiltExpr-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(),</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>                                           rebuiltExpr-><a class="code" href="classclang_1_1Expr.html#a6fd3892ddf8334fc9b311daaa93a27f5">getObjectKind</a>(),</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                                           ce->getRParenLoc(),</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>                                           ce->isConditionTrue(),</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>                                           rebuiltExpr-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>(),</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>                                           rebuiltExpr-><a class="code" href="classclang_1_1Expr.html#a34f1652a9072dfd3c7119d23e1a14fa5">isValueDependent</a>());</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       }</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       llvm_unreachable(<span class="stringliteral">"bad expression to rebuild!"</span>);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     }</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   };</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="keyword">struct </span>ObjCPropertyRefRebuilder : Rebuilder<ObjCPropertyRefRebuilder> {</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *NewBase;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>     ObjCPropertyRefRebuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Expr.html">Expr</a> *newBase)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>       : Rebuilder<ObjCPropertyRefRebuilder>(S), NewBase(newBase) {}</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> specific_type;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildSpecific(<a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *refExpr) {</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>       <span class="comment">// Fortunately, the constraint that we're rebuilding something</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>       <span class="comment">// with a base limits the number of cases here.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>       assert(refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#ae9afd8d668d1f683be974fde729b0018">isObjectReceiver</a>());</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>       <span class="keywordflow">if</span> (refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#ad9d1774ec3dcd7ea04cc1c22403f2030">isExplicitProperty</a>()) {</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>         <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>           <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a>(refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#aa439852d61ae49d46ce7c7c2b8cd1ebd">getExplicitProperty</a>(),</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                               refExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(), refExpr-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(),</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>                               refExpr-><a class="code" href="classclang_1_1Expr.html#a6fd3892ddf8334fc9b311daaa93a27f5">getObjectKind</a>(), refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a7c3103a200c56154d0ca6d8047642c97">getLocation</a>(),</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                               NewBase);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       }</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>       <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>         <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a>(refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a9b6e7014bdf14914c2b07efe395e13d6">getImplicitPropertyGetter</a>(),</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>                             refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a6534ac5e930d1b023ae355d96d5c0e33">getImplicitPropertySetter</a>(),</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>                             refExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(), refExpr-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(),</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>                             refExpr-><a class="code" href="classclang_1_1Expr.html#a6fd3892ddf8334fc9b311daaa93a27f5">getObjectKind</a>(),refExpr-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a7c3103a200c56154d0ca6d8047642c97">getLocation</a>(),</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>                             NewBase);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>     }</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   };</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <span class="keyword">struct </span>ObjCSubscriptRefRebuilder : Rebuilder<ObjCSubscriptRefRebuilder> {</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *NewBase;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *NewKeyExpr;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     ObjCSubscriptRefRebuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Expr.html">Expr</a> *newBase, <a class="code" href="classclang_1_1Expr.html">Expr</a> *newKeyExpr)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     : Rebuilder<ObjCSubscriptRefRebuilder>(S), </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>       NewBase(newBase), NewKeyExpr(newKeyExpr) {}</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="keyword">typedef</span> <a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> specific_type;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildSpecific(<a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> *refExpr) {</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       assert(refExpr-><a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html#a1811101d0395af4508326f41f89bf130">getBaseExpr</a>());</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>       assert(refExpr-><a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html#a5731a2cb6c1979c037aa7ebda20743b8">getKeyExpr</a>());</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> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>)</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>         <a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a>(NewBase,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>                              NewKeyExpr,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                              refExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(), refExpr-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(),</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                              refExpr-><a class="code" href="classclang_1_1Expr.html#a6fd3892ddf8334fc9b311daaa93a27f5">getObjectKind</a>(),refExpr-><a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html#a32fbccad042f488a433885b50c4b2066">getAtIndexMethodDecl</a>(),</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                              refExpr-><a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html#ad8634520b812133231c39e9169066839">setAtIndexMethodDecl</a>(),</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>                              refExpr-><a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html#a1ff4d807eee962aa12920ab776850e09">getRBracket</a>());</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     }</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   };</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <span class="keyword">struct </span>MSPropertyRefRebuilder : Rebuilder<MSPropertyRefRebuilder> {</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *NewBase;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>     MSPropertyRefRebuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Expr.html">Expr</a> *newBase)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     : Rebuilder<MSPropertyRefRebuilder>(S), NewBase(newBase) {}</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="keyword">typedef</span> <a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> specific_type;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildSpecific(<a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *refExpr) {</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>       assert(refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a8fbfb4a7c06f1d4e63eeedebd4acd2c3">getBaseExpr</a>());</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>       <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>)</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>         <a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a>(NewBase, refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a6e02666c0f58b97ef2400337abc0635a">getPropertyDecl</a>(),</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>                        refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a3abd90e432c0aa6fdce3cb3f49884fb0">isArrow</a>(), refExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>                        refExpr-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(), refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a450a369ddeb7dff3b4ce15e7a1f9a1d3">getQualifierLoc</a>(),</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>                        refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a670d2595fc1774c1658a08ec928fb592">getMemberLoc</a>());</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     }</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   };</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="keyword">class </span>PseudoOpBuilder {</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>     <a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <span class="keywordtype">unsigned</span> ResultIndex;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</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> GenericLoc;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<Expr *, 4></a> Semantics;</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>     PseudoOpBuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <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> genericLoc)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>       : S(S), ResultIndex(<a class="code" href="classclang_1_1PseudoObjectExpr.html">PseudoObjectExpr</a>::NoResult),</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>         GenericLoc(genericLoc) {}</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>     <span class="keyword">virtual</span> ~PseudoOpBuilder() {}</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">    /// Add a normal semantic expression.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment"></span>    <span class="keywordtype">void</span> addSemanticExpr(<a class="code" href="classclang_1_1Expr.html">Expr</a> *semantic) {</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>       Semantics.push_back(semantic);</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="comment"></span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment">    /// Add the 'result' semantic expression.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment"></span>    <span class="keywordtype">void</span> addResultSemanticExpr(<a class="code" href="classclang_1_1Expr.html">Expr</a> *resultExpr) {</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>       assert(ResultIndex == PseudoObjectExpr::NoResult);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>       ResultIndex = Semantics.size();</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>       Semantics.push_back(resultExpr);</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> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildRValueOperation(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildAssignmentOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc,</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</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> opLoc,</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>                                         <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>                                         <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS);</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildIncDecOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc, <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> opLoc,</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>                                     <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fff">UnaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>                                     <a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>     <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> complete(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticForm);</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>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *capture(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *captureValueAsResult(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</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="keywordtype">void</span> setResultToLastSemantic() {</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>       assert(ResultIndex == PseudoObjectExpr::NoResult);</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>       ResultIndex = Semantics.size() - 1;</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"></span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment">    /// Return true if assignments have a non-void result.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> <span class="comment"></span>    <span class="keywordtype">bool</span> CanCaptureValueOfType(<a class="code" href="classclang_1_1QualType.html">QualType</a> ty) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>       assert(!ty-><a class="code" href="classclang_1_1Type.html#a6d84e779575f1e510f7ddc98119662bd" title="Def If non-NULL, and the type refers to some kind of declaration that can be completed (such as a C s...">isIncompleteType</a>());</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>       assert(!ty-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>());</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="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *ClassDecl = ty-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>())</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>         <span class="keywordflow">return</span> ClassDecl->isTriviallyCopyable();</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>     <span class="keyword">virtual</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *) = 0;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildGet() = 0;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>,</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>                                 <span class="keywordtype">bool</span> captureSetValueAsResult) = 0;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   };</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> <span class="comment"></span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment">  /// A PseudoOpBuilder for Objective-C \@properties.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="comment"></span>  <span class="keyword">class </span>ObjCPropertyOpBuilder : <span class="keyword">public</span> PseudoOpBuilder {</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *RefExpr;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *SyntacticRefExpr;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *InstanceReceiver;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *Getter;</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>     <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *Setter;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> SetterSelector;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> GetterSelector;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     ObjCPropertyOpBuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *refExpr) :</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>       PseudoOpBuilder(S, refExpr->getLocation()), RefExpr(refExpr),</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>       SyntacticRefExpr(0), InstanceReceiver(0), Getter(0), Setter(0) {</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> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildRValueOperation(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildAssignmentOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc,</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</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> opLoc,</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>                                         <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>                                         <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS);</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildIncDecOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc, <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> opLoc,</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>                                     <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fff">UnaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>                                     <a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>     <span class="keywordtype">bool</span> tryBuildGetOfReference(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> &result);</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     <span class="keywordtype">bool</span> findSetter(<span class="keywordtype">bool</span> warn=<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     <span class="keywordtype">bool</span> findGetter();</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticBase);</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildGet();</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <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>, <span class="keywordtype">bool</span>);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> complete(<a class="code" href="classclang_1_1Expr.html">Expr</a> *SyntacticForm);</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>     <span class="keywordtype">bool</span> isWeakProperty() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>   };</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> <span class="comment"></span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> <span class="comment"> /// A PseudoOpBuilder for Objective-C array/dictionary indexing.</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> <span class="comment"></span> <span class="keyword">class </span>ObjCSubscriptOpBuilder : <span class="keyword">public</span> PseudoOpBuilder {</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>    <a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> *RefExpr;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>    <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *InstanceBase;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>    <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *InstanceKey;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>    <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *AtIndexGetter;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>    <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> AtIndexGetterSelector;</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>    <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *AtIndexSetter;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>    <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> AtIndexSetterSelector;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>     ObjCSubscriptOpBuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> *refExpr) :</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>       PseudoOpBuilder(S, refExpr->getSourceRange().getBegin()), </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>       RefExpr(refExpr),</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>     InstanceBase(0), InstanceKey(0), </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>     AtIndexGetter(0), AtIndexSetter(0) { }</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_1ActionResult.html">ExprResult</a> buildRValueOperation(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op);</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>    <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildAssignmentOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc,</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</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> opLoc,</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>                                        <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>                                        <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS);</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>    <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticBase);</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="keywordtype">bool</span> findAtIndexGetter();</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>    <span class="keywordtype">bool</span> findAtIndexSetter();</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>    <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildGet();</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>    <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <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>, <span class="keywordtype">bool</span>);</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> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>  <span class="keyword">class </span>MSPropertyOpBuilder : <span class="keyword">public</span> PseudoOpBuilder {</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>    <a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *RefExpr;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>    MSPropertyOpBuilder(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *refExpr) :</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>      PseudoOpBuilder(S, refExpr->getSourceRange().getBegin()),</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>      RefExpr(refExpr) {}</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>    <a class="code" href="classclang_1_1Expr.html">Expr</a> *rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *);</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>    <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildGet();</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>    <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <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>, <span class="keywordtype">bool</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> <span class="comment"></span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> <span class="comment">/// Capture the given expression in an OpaqueValueExpr.</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> <span class="comment"></span><a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *PseudoOpBuilder::capture(<a class="code" href="classclang_1_1Expr.html">Expr</a> *e) {</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="comment">// Make a new OVE whose source is the given expression.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *captured = </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a>(GenericLoc, e-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>                                     e-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(), e-><a class="code" href="classclang_1_1Expr.html#a6fd3892ddf8334fc9b311daaa93a27f5">getObjectKind</a>(),</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>                                     e);</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="comment">// Make sure we bind that in the semantics.</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   addSemanticExpr(captured);</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   <span class="keywordflow">return</span> captured;</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> }</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> <span class="comment"></span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> <span class="comment">/// Capture the given expression as the result of this pseudo-object</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> <span class="comment">/// operation.  This routine is safe against expressions which may</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> <span class="comment">/// already be captured.</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> <span class="comment">/// \returns the captured expression, which will be the</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> <span class="comment">///   same as the input if the input was already captured</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="comment"></span><a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *PseudoOpBuilder::captureValueAsResult(<a class="code" href="classclang_1_1Expr.html">Expr</a> *e) {</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   assert(ResultIndex == PseudoObjectExpr::NoResult);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>   <span class="comment">// If the expression hasn't already been captured, just capture it</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>   <span class="comment">// and set the new semantic </span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   <span class="keywordflow">if</span> (!isa<OpaqueValueExpr>(e)) {</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *cap = capture(e);</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     setResultToLastSemantic();</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>     <span class="keywordflow">return</span> cap;</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> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   <span class="comment">// Otherwise, it must already be one of our semantic expressions;</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <span class="comment">// set ResultIndex to its index.</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   <span class="keywordtype">unsigned</span> index = 0;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   <span class="keywordflow">for</span> (;; ++index) {</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>     assert(index < Semantics.size() &&</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>            <span class="stringliteral">"captured expression not found in semantics!"</span>);</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>     <span class="keywordflow">if</span> (e == Semantics[index]) <span class="keywordflow">break</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>   ResultIndex = index;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   <span class="keywordflow">return</span> cast<OpaqueValueExpr>(e);</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> }</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment"></span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="comment">/// The routine which creates the final PseudoObjectExpr.</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> PseudoOpBuilder::complete(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntactic) {</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PseudoObjectExpr.html#a6f1d6681c0c4d0cbafc25adff023a765">PseudoObjectExpr::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, syntactic,</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>                                   Semantics, ResultIndex);</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">/// The main skeleton for building an r-value operation.</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> PseudoOpBuilder::buildRValueOperation(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op) {</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticBase = rebuildAndCaptureObject(op);</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>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> getExpr = buildGet();</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>   <span class="keywordflow">if</span> (getExpr.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   addResultSemanticExpr(getExpr.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</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="keywordflow">return</span> complete(syntacticBase);</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> }</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> <span class="comment"></span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> <span class="comment">/// The basic skeleton for building a simple or compound</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> <span class="comment">/// assignment operation.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> PseudoOpBuilder::buildAssignmentOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc, <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> opcLoc,</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>                                           <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>                                           <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS) {</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   assert(<a class="code" href="classclang_1_1BinaryOperator.html#a1ad39821a19882541e25746b16690515">BinaryOperator::isAssignmentOp</a>(opcode));</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>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticLHS = rebuildAndCaptureObject(LHS);</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>   <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *capturedRHS = capture(RHS);</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>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *syntactic;</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   <span class="keywordflow">if</span> (opcode == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af0f6693357ca6bc7488c1d4de4cbe303">BO_Assign</a>) {</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     result = capturedRHS;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>     syntactic = <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a>(syntacticLHS, capturedRHS,</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>                                                opcode, capturedRHS-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>                                                capturedRHS-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(),</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>                                                <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a83fc60c978ed1f1be293f1d2fcb6b5c5" title="An ordinary object is located at an address in memory.">OK_Ordinary</a>, opcLoc, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> opLHS = buildGet();</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     <span class="keywordflow">if</span> (opLHS.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>     <span class="comment">// Build an ordinary, non-compound operation.</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>     <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> nonCompound =</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>       <a class="code" href="classclang_1_1BinaryOperator.html#a552d7a7421b4a977315cbb49b93bc38c">BinaryOperator::getOpForCompoundAssignment</a>(opcode);</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>     result = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ae4fc8526e7be7ed8ebbda0ea0cb444f1">BuildBinOp</a>(Sc, opcLoc, nonCompound,</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>                           opLHS.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), capturedRHS);</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>     <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     syntactic =</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>       <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1CompoundAssignOperator.html">CompoundAssignOperator</a>(syntacticLHS, capturedRHS, opcode,</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>                                              result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>                                              result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>(),</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>                                              <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a83fc60c978ed1f1be293f1d2fcb6b5c5" title="An ordinary object is located at an address in memory.">OK_Ordinary</a>,</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>                                              opLHS.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>                                              result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>                                              opcLoc, <span class="keyword">false</span>);</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> </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="comment">// The result of the assignment, if not void, is the value set into</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="comment">// the l-value.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   result = buildSet(result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), opcLoc, <span class="comment">/*captureSetValueAsResult*/</span> <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   addSemanticExpr(result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>());</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   <span class="keywordflow">return</span> complete(syntactic);</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> }</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> <span class="comment"></span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> <span class="comment">/// The basic skeleton for building an increment or decrement</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> <span class="comment">/// operation.</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> PseudoOpBuilder::buildIncDecOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc, <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> opcLoc,</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>                                       <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fff">UnaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>                                       <a class="code" href="classclang_1_1Expr.html">Expr</a> *op) {</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>   assert(<a class="code" href="classclang_1_1UnaryOperator.html#ad7efc89eee73f2dbd63d9ed7000c40a3">UnaryOperator::isIncrementDecrementOp</a>(opcode));</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>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticOp = rebuildAndCaptureObject(op);</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>   <span class="comment">// Load the value.</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result = buildGet();</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> resultType = result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</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">// That's the postfix result.</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1UnaryOperator.html#a4772d749615d146f00e21ee5f3dff6ed">UnaryOperator::isPostfix</a>(opcode) &&</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>       (result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>() || CanCaptureValueOfType(resultType))) {</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     result = capture(result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>());</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     setResultToLastSemantic();</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> </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <span class="comment">// Add or subtract a literal 1.</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>   llvm::APInt oneV(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>), 1);</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *one = <a class="code" href="classclang_1_1IntegerLiteral.html#a68782c17506bd26183c21aa2bf9dc1d7" title="Returns a new integer literal with value 'V' and type 'type'.">IntegerLiteral::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, oneV, <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>,</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>                                      GenericLoc);</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>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1UnaryOperator.html#a78ba6b49f4a05585cde6c9da6d76e378">UnaryOperator::isIncrementOp</a>(opcode)) {</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>     result = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ae4fc8526e7be7ed8ebbda0ea0cb444f1">BuildBinOp</a>(Sc, opcLoc, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>, result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), one);</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>     result = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ae4fc8526e7be7ed8ebbda0ea0cb444f1">BuildBinOp</a>(Sc, opcLoc, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>, result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), one);</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   }</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="comment">// Store that back into the result.  The value stored is the result</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   <span class="comment">// of a prefix operation.</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>   result = buildSet(result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), opcLoc, <a class="code" href="classclang_1_1UnaryOperator.html#adfacce14f3397c4bbe9d5f3bfc18fa2b">UnaryOperator::isPrefix</a>(opcode));</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   addSemanticExpr(result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>());</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>   <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *syntactic =</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>     <span class="keyword">new</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a>(syntacticOp, opcode, resultType,</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>                                   <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a>, <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a83fc60c978ed1f1be293f1d2fcb6b5c5" title="An ordinary object is located at an address in memory.">OK_Ordinary</a>, opcLoc);</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   <span class="keywordflow">return</span> complete(syntactic);</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> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> <span class="comment">//  Objective-C @property and implicit property references</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> <span class="comment"></span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> <span class="comment">/// Look up a method in the receiver type of an Objective-C property</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> <span class="comment">/// reference.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno"><a class="code" href="SemaPseudoObject_8cpp.html#ac17b4e75735d88b3443d777e13d4a4e0">  500</a></span> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *<a class="code" href="SemaPseudoObject_8cpp.html#ac17b4e75735d88b3443d777e13d4a4e0">LookupMethodInReceiverType</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> sel,</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *PRE) {</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <span class="keywordflow">if</span> (PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#ae9afd8d668d1f683be974fde729b0018">isObjectReceiver</a>()) {</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *PT =</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>       PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a1fc6ed78c76fbfd107db5d8e16bb680a">getBase</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>();</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="comment">// Special case for 'self' in class method implementations.</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#aa277a48c5f72312726d4ed4f6b712b79">isObjCClassType</a>() &&</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>         S.<a class="code" href="classclang_1_1Sema.html#a15855e56741eceda973057509b8a5ec0" title="Private Helper predicate to check for 'self'.">isSelfExpr</a>(const_cast<Expr*>(PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a1fc6ed78c76fbfd107db5d8e16bb680a">getBase</a>()))) {</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       <span class="comment">// This cast is safe because isSelfExpr is only true within</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>       <span class="comment">// methods.</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>       <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *method =</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>         cast<ObjCMethodDecl>(S.<a class="code" href="classclang_1_1Sema.html#a915a017e1ec7e24452d90bebe226c8cc" title="CurContext - This is the current declaration context of parsing.">CurContext</a>-><a class="code" href="classclang_1_1DeclContext.html#a23f8e9fe4070789a920919c3de2c106a" title="Find the nearest non-closure ancestor of this context, i.e. the innermost semantic parent of this con...">getNonClosureAncestor</a>());</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>       <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(sel,</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>                  S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae498c138a079e26fa0b2ebcb11d9136b">getObjCInterfaceType</a>(method-><a class="code" href="classclang_1_1ObjCMethodDecl.html#ae289a054485ee4d1d66b33e833e16091">getClassInterface</a>()),</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>                                         <span class="comment">/*instance*/</span> <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>     }</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>     <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(sel, PT-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#a610d3fc1a15aafd545c35748819a5227">getPointeeType</a>(), <span class="keyword">true</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> </div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>   <span class="keywordflow">if</span> (PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a60568b527fe27c5fca41d7d869798928">isSuperReceiver</a>()) {</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *PT =</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>         PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#af42434562dfca13907a9020e26084471">getSuperReceiverType</a>()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>())</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>       <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(sel, PT->getPointeeType(), <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> </div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>     <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(sel, PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#af42434562dfca13907a9020e26084471">getSuperReceiverType</a>(), <span class="keyword">false</span>);</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> </div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>   assert(PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#ac6ed6f117c58dac867ee204feb92d128">isClassReceiver</a>() && <span class="stringliteral">"Invalid expression"</span>);</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> IT = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae498c138a079e26fa0b2ebcb11d9136b">getObjCInterfaceType</a>(PRE-><a class="code" href="classclang_1_1ObjCPropertyRefExpr.html#a2161c81c1e636a9a590dd9e0909fd8e3">getClassReceiver</a>());</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>   <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(sel, IT, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span> }</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> <span class="keywordtype">bool</span> ObjCPropertyOpBuilder::isWeakProperty()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> T;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   <span class="keywordflow">if</span> (RefExpr->isExplicitProperty()) {</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCPropertyDecl.html" title="Represents one property declaration in an Objective-C interface.">ObjCPropertyDecl</a> *Prop = RefExpr->getExplicitProperty();</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>     <span class="keywordflow">if</span> (Prop-><a class="code" href="classclang_1_1ObjCPropertyDecl.html#a3ab708c370cfcf22f84f69afa79345c8">getPropertyAttributes</a>() & <a class="code" href="classclang_1_1ObjCPropertyDecl.html#a8c30cbf1e395e8f65ea427afb5ed0e08af015fdde1c948c8276c880434ef5dc0f">ObjCPropertyDecl::OBJC_PR_weak</a>)</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> </div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>     T = Prop-><a class="code" href="classclang_1_1ObjCPropertyDecl.html#af0e7df097fcd79bcda29939566e96644">getType</a>();</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Getter) {</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>     T = Getter->getResultType();</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <span class="keywordflow">return</span> T.<a class="code" href="classclang_1_1QualType.html#abf2b347a1ba0ed6b4fad08600273324f" title="getObjCLifetime - Returns lifetime attribute of this type.">getObjCLifetime</a>() == <a class="code" href="classclang_1_1Qualifiers.html#a1280e3f4075ff54f856987cf002ba300ad62a7a19d7027c37d407d2ca7638a89c" title="Reading or writing from this object requires a barrier call.">Qualifiers::OCL_Weak</a>;</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> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> <span class="keywordtype">bool</span> ObjCPropertyOpBuilder::findGetter() {</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="keywordflow">if</span> (Getter) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> </div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="comment">// For implicit properties, just trust the lookup we already did.</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   <span class="keywordflow">if</span> (RefExpr->isImplicitProperty()) {</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>     <span class="keywordflow">if</span> ((Getter = RefExpr->getImplicitPropertyGetter())) {</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>       GetterSelector = Getter->getSelector();</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>     }</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>     <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>       <span class="comment">// Must build the getter selector the hard way.</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>       <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *setter = RefExpr->getImplicitPropertySetter();</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>       assert(setter && <span class="stringliteral">"both setter and getter are null - cannot happen"</span>);</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>       <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *setterName = </div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>         setter-><a class="code" href="classclang_1_1ObjCMethodDecl.html#aa91ae093f29f2781c87f725e42fddf98">getSelector</a>().<a class="code" href="classclang_1_1Selector.html#a79b49f4b847c9fea73947aad1fc1ccf8" title="Retrieve the identifier at a given position in the selector.">getIdentifierInfoForSlot</a>(0);</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *compStr = setterName-><a class="code" href="classclang_1_1IdentifierInfo.html#ae69779507a5e059eecf91dcfcee5d958" title="Return the beginning of the actual null-terminated string for this identifier.">getNameStart</a>();</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>       compStr += 3;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>       <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *getterName = &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(compStr);</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>       GetterSelector = </div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>         <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a6829f2b169c74ad544c53a8b1415061b">PP</a>.<a class="code" href="classclang_1_1Preprocessor.html#a9898deb1beddca551b9bef352cf77e9f">getSelectorTable</a>().<a class="code" href="classclang_1_1SelectorTable.html#ae7aee427125848f61a587c05fe308722">getNullarySelector</a>(getterName);</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>     }</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   }</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   <a class="code" href="classclang_1_1ObjCPropertyDecl.html" title="Represents one property declaration in an Objective-C interface.">ObjCPropertyDecl</a> *prop = RefExpr->getExplicitProperty();</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   Getter = <a class="code" href="SemaPseudoObject_8cpp.html#ac17b4e75735d88b3443d777e13d4a4e0">LookupMethodInReceiverType</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, prop-><a class="code" href="classclang_1_1ObjCPropertyDecl.html#a403f7866008e173bf1346ccef5221f99">getGetterName</a>(), RefExpr);</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   <span class="keywordflow">return</span> (Getter != 0);</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span> }</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> <span class="comment"></span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> <span class="comment">/// Try to find the most accurate setter declaration for the property</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> <span class="comment">/// reference.</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> <span class="comment">/// \return true if a setter was found, in which case Setter </span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="comment"></span><span class="keywordtype">bool</span> ObjCPropertyOpBuilder::findSetter(<span class="keywordtype">bool</span> warn) {</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>   <span class="comment">// For implicit properties, just trust the lookup we already did.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>   <span class="keywordflow">if</span> (RefExpr->isImplicitProperty()) {</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *setter = RefExpr->getImplicitPropertySetter()) {</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>       Setter = setter;</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>       SetterSelector = setter-><a class="code" href="classclang_1_1ObjCMethodDecl.html#aa91ae093f29f2781c87f725e42fddf98">getSelector</a>();</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>       <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *getterName =</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>         RefExpr->getImplicitPropertyGetter()->getSelector()</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>           .getIdentifierInfoForSlot(0);</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>       SetterSelector =</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>         <a class="code" href="classclang_1_1SelectorTable.html#a80ef9bc630a09be0a8dcbfd59b011ac0" title="Return the default setter selector for the given identifier.">SelectorTable::constructSetterSelector</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a6829f2b169c74ad544c53a8b1415061b">PP</a>.<a class="code" href="classclang_1_1Preprocessor.html#a7770871c2bdcd43cfa195d5936c8e268">getIdentifierTable</a>(),</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>                                                <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a6829f2b169c74ad544c53a8b1415061b">PP</a>.<a class="code" href="classclang_1_1Preprocessor.html#a9898deb1beddca551b9bef352cf77e9f">getSelectorTable</a>(),</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>                                                getterName);</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     }</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   }</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> </div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>   <span class="comment">// For explicit properties, this is more involved.</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>   <a class="code" href="classclang_1_1ObjCPropertyDecl.html" title="Represents one property declaration in an Objective-C interface.">ObjCPropertyDecl</a> *prop = RefExpr->getExplicitProperty();</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>   SetterSelector = prop-><a class="code" href="classclang_1_1ObjCPropertyDecl.html#aa7d97f612763f8d63f2b4571c14d14f3">getSetterName</a>();</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   <span class="comment">// Do a normal method lookup first.</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *setter =</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>         <a class="code" href="SemaPseudoObject_8cpp.html#ac17b4e75735d88b3443d777e13d4a4e0">LookupMethodInReceiverType</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, SetterSelector, RefExpr)) {</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>     <span class="keywordflow">if</span> (setter-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a4ca2941f86e7822b3f15b6d258230cb1">isPropertyAccessor</a>() && warn)</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IFace =</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>           dyn_cast<ObjCInterfaceDecl>(setter-><a class="code" href="classclang_1_1Decl.html#af67e1a1d24dcc51093b95dbcf68d4288">getDeclContext</a>())) {</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>         <span class="keyword">const</span> StringRef thisPropertyName(prop-><a class="code" href="classclang_1_1NamedDecl.html#aaf790590f634520a99e0b45699fc45c3">getName</a>());</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>         <span class="comment">// Try flipping the case of the first character.</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>         <span class="keywordtype">char</span> front = thisPropertyName.front();</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>         front = <a class="code" href="namespaceclang.html#a6fbb8fb6e6fc9c63a5b66705460d80e2" title="Return true if this character is a lowercase ASCII letter: [a-z].">isLowercase</a>(front) ? <a class="code" href="namespaceclang.html#a7a2104a6662f79c727af0e1cbbd9b110">toUppercase</a>(front) : <a class="code" href="namespaceclang.html#a4da5e31b959a5058d047f4ac3af66a97">toLowercase</a>(front);</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>         <a class="code" href="classllvm_1_1SmallString.html">SmallString<100></a> PropertyName = thisPropertyName;</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>         PropertyName[0] = front;</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>         <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *AltMember = &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a6829f2b169c74ad544c53a8b1415061b">PP</a>.<a class="code" href="classclang_1_1Preprocessor.html#a7770871c2bdcd43cfa195d5936c8e268">getIdentifierTable</a>().<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(PropertyName);</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCPropertyDecl.html" title="Represents one property declaration in an Objective-C interface.">ObjCPropertyDecl</a> *prop1 = IFace->FindPropertyDeclaration(AltMember))</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>           <span class="keywordflow">if</span> (prop != prop1 && (prop1->getSetterMethodDecl() == setter)) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>             <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getExprLoc(), diag::error_property_setter_ambiguous_use)</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>               << prop-><a class="code" href="classclang_1_1NamedDecl.html#aaf790590f634520a99e0b45699fc45c3">getName</a>() << prop1->getName() << setter-><a class="code" href="classclang_1_1ObjCMethodDecl.html#aa91ae093f29f2781c87f725e42fddf98">getSelector</a>();</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>             <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(prop-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>(), diag::note_property_declare);</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>             <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(prop1->getLocation(), diag::note_property_declare);</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>           }</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>       }</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>     Setter = setter;</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>   }</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span> </div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>   <span class="comment">// That can fail in the somewhat crazy situation that we're</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>   <span class="comment">// type-checking a message send within the @interface declaration</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>   <span class="comment">// that declared the @property.  But it's not clear that that's</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>   <span class="comment">// valuable to support.</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span> </div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> }</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> <span class="comment"></span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span> <span class="comment">/// Capture the base object of an Objective-C property expression.</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span> <span class="comment"></span><a class="code" href="classclang_1_1Expr.html">Expr</a> *ObjCPropertyOpBuilder::rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticBase) {</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>   assert(InstanceReceiver == 0);</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   <span class="comment">// If we have a base, capture it in an OVE and rebuild the syntactic</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>   <span class="comment">// form to use the OVE as its base.</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>   <span class="keywordflow">if</span> (RefExpr->isObjectReceiver()) {</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>     InstanceReceiver = capture(RefExpr->getBase());</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> </div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>     syntacticBase =</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>       ObjCPropertyRefRebuilder(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, InstanceReceiver).rebuild(syntacticBase);</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>   }</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> </div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>         refE = dyn_cast<ObjCPropertyRefExpr>(syntacticBase->IgnoreParens()))</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>     SyntacticRefExpr = refE;</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>   <span class="keywordflow">return</span> syntacticBase;</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> }</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> <span class="comment"></span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> <span class="comment">/// Load from an Objective-C property reference.</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCPropertyOpBuilder::buildGet() {</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>   findGetter();</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>   assert(Getter);</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span> </div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   <span class="keywordflow">if</span> (SyntacticRefExpr)</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>     SyntacticRefExpr->setIsMessagingGetter();</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> receiverType;</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>   <span class="keywordflow">if</span> (RefExpr->isClassReceiver()) {</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>     receiverType = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae498c138a079e26fa0b2ebcb11d9136b">getObjCInterfaceType</a>(RefExpr->getClassReceiver());</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RefExpr->isSuperReceiver()) {</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>     receiverType = RefExpr->getSuperReceiverType();</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>     assert(InstanceReceiver);</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>     receiverType = InstanceReceiver->getType();</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>   }</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span> </div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="comment">// Build a message-send.</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> msg;</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>   <span class="keywordflow">if</span> (Getter->isInstanceMethod() || RefExpr->isObjectReceiver()) {</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     assert(InstanceReceiver || RefExpr->isSuperReceiver());</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>     msg = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a7a9276cc442c1f0f64d230dfa44b193b">BuildInstanceMessageImplicit</a>(InstanceReceiver, receiverType,</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>                                          GenericLoc, Getter->getSelector(),</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>                                          Getter, None);</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>     msg = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ae8cf4f15754641470970e5fb0f99ba07">BuildClassMessageImplicit</a>(receiverType, RefExpr->isSuperReceiver(),</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>                                       GenericLoc, Getter->getSelector(),</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>                                       Getter, None);</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   }</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>   <span class="keywordflow">return</span> msg;</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> }</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> <span class="comment"></span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span> <span class="comment">/// Store to an Objective-C property reference.</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> <span class="comment">/// \param captureSetValueAsResult If true, capture the actual</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span> <span class="comment">///   value being set as the value of the property operation.</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCPropertyOpBuilder::buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <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> opcLoc,</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>                                            <span class="keywordtype">bool</span> captureSetValueAsResult) {</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>   <span class="keywordtype">bool</span> hasSetter = findSetter(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>   assert(hasSetter); (void) hasSetter;</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span> </div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>   <span class="keywordflow">if</span> (SyntacticRefExpr)</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>     SyntacticRefExpr->setIsMessagingSetter();</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> receiverType;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>   <span class="keywordflow">if</span> (RefExpr->isClassReceiver()) {</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     receiverType = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae498c138a079e26fa0b2ebcb11d9136b">getObjCInterfaceType</a>(RefExpr->getClassReceiver());</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RefExpr->isSuperReceiver()) {</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>     receiverType = RefExpr->getSuperReceiverType();</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>     assert(InstanceReceiver);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>     receiverType = InstanceReceiver->getType();</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>   }</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span> </div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>   <span class="comment">// Use assignment constraints when possible; they give us better</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>   <span class="comment">// diagnostics.  "When possible" basically means anything except a</span></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>   <span class="comment">// C++ class type.</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>   <span class="keywordflow">if</span> (!<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().CPlusPlus || !op-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#a6525adb10d549a7ee372424dcdb6b9bd">isRecordType</a>()) {</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> paramType = (*Setter->param_begin())->getType();</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>     <span class="keywordflow">if</span> (!<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().CPlusPlus || !paramType-><a class="code" href="classclang_1_1Type.html#a6525adb10d549a7ee372424dcdb6b9bd">isRecordType</a>()) {</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>       <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> opResult = op;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>       <a class="code" href="classclang_1_1Sema.html#a989c30946e5cabc831bca08a8da4b3dd">Sema::AssignConvertType</a> assignResult</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>         = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a2562b169e9dec351f8d4654c982b4f8a">CheckSingleAssignmentConstraints</a>(paramType, opResult);</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>       <span class="keywordflow">if</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ac8a13682b86c48afec3198fd6cee256d">DiagnoseAssignmentResult</a>(assignResult, opcLoc, paramType,</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>                                      op-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(), opResult.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>(),</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>                                      <a class="code" href="classclang_1_1Sema.html#a9f2e064deb2385fce5e61d1c0431d635a8403444b313a1e3457c17d7b35008d87">Sema::AA_Assigning</a>))</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span> </div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>       op = opResult.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>       assert(op && <span class="stringliteral">"successful assignment left argument invalid?"</span>);</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>     }</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *OVE = dyn_cast<OpaqueValueExpr>(op)) {</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>       <a class="code" href="classclang_1_1Expr.html">Expr</a> *Initializer = OVE->getSourceExpr();</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>       <span class="comment">// passing C++11 style initialized temporaries to objc++ properties</span></div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>       <span class="comment">// requires special treatment by removing OpaqueValueExpr so type</span></div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>       <span class="comment">// conversion takes place and adding the OpaqueValueExpr later on.</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>       <span class="keywordflow">if</span> (isa<InitListExpr>(Initializer) &&</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>           Initializer-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#a0ee6d74a089fe24d755d9cfd8bceef3f">isVoidType</a>()) {</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>         op = Initializer;</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>       }</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>     }</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>   }</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span> </div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>   <span class="comment">// Arguments.</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *args[] = { op };</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>   <span class="comment">// Build a message-send.</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> msg;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>   <span class="keywordflow">if</span> (Setter->isInstanceMethod() || RefExpr->isObjectReceiver()) {</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>     msg = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a7a9276cc442c1f0f64d230dfa44b193b">BuildInstanceMessageImplicit</a>(InstanceReceiver, receiverType,</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>                                          GenericLoc, SetterSelector, Setter,</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>                                          <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a>(args, 1));</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>     msg = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ae8cf4f15754641470970e5fb0f99ba07">BuildClassMessageImplicit</a>(receiverType, RefExpr->isSuperReceiver(),</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>                                       GenericLoc,</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>                                       SetterSelector, Setter,</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>                                       <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a>(args, 1));</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>   }</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> </div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>   <span class="keywordflow">if</span> (!msg.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>() && captureSetValueAsResult) {</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>     <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *msgExpr =</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>       cast<ObjCMessageExpr>(msg.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a4044b5da6ee0f7a5a67419dc5a106883">IgnoreImplicit</a>());</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *arg = msgExpr-><a class="code" href="classclang_1_1ObjCMessageExpr.html#ac8e7d18b71e06a146c924102e41bcffd" title="getArg - Return the specified argument.">getArg</a>(0);</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     <span class="keywordflow">if</span> (CanCaptureValueOfType(arg->getType()))</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>       msgExpr-><a class="code" href="classclang_1_1ObjCMessageExpr.html#aea72b853627ea5ee8ddc24f5b65bfc1f" title="setArg - Set the specified argument.">setArg</a>(0, captureValueAsResult(arg));</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>   }</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span> </div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>   <span class="keywordflow">return</span> msg;</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span> }</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span> <span class="comment"></span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span> <span class="comment">/// @property-specific behavior for doing lvalue-to-rvalue conversion.</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCPropertyOpBuilder::buildRValueOperation(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op) {</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>   <span class="comment">// Explicit properties always have getters, but implicit ones don't.</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>   <span class="comment">// Check that before proceeding.</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>   <span class="keywordflow">if</span> (RefExpr->isImplicitProperty() && !RefExpr->getImplicitPropertyGetter()) {</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getLocation(), diag::err_getter_not_found)</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>         << RefExpr->getSourceRange();</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>   }</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span> </div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result = PseudoOpBuilder::buildRValueOperation(op);</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> </div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>   <span class="keywordflow">if</span> (RefExpr->isExplicitProperty() && !Getter->hasRelatedResultType())</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad3498714f771dbac5c562c8512e21d20">DiagnosePropertyAccessorMismatch</a>(RefExpr->getExplicitProperty(),</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>                                        Getter, RefExpr->getLocation());</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> </div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>   <span class="comment">// As a special case, if the method returns 'id', try to get</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>   <span class="comment">// a better type from the property.</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>   <span class="keywordflow">if</span> (RefExpr->isExplicitProperty() && result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a4cd56ea13000be78c5459f10df89e84a">isRValue</a>() &&</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>       result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#a804794071498377a09e30e5e3399580e">isObjCIdType</a>()) {</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> propType = RefExpr->getExplicitProperty()->getType();</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *ptr</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>           = propType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>()) {</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>       <span class="keywordflow">if</span> (!ptr->isObjCIdType())</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>         result = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5120f756f6170ec92850d417f15318e1">ImpCastExprToType</a>(result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>(), propType, <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca183b8948b82911a415cc54446ddcb3ab">CK_BitCast</a>);</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>     }</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>   }</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span> </div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>   <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span> }</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span> <span class="comment"></span></div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span> <span class="comment">/// Try to build this as a call to a getter that returns a reference.</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span> <span class="comment">/// \return true if it was possible, whether or not it actually</span></div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span> <span class="comment">///   succeeded</span></div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span> <span class="comment"></span><span class="keywordtype">bool</span> ObjCPropertyOpBuilder::tryBuildGetOfReference(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op,</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>                                                    <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> &result) {</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>   <span class="keywordflow">if</span> (!<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().CPlusPlus) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span> </div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>   findGetter();</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   assert(Getter && <span class="stringliteral">"property has no setter and no getter!"</span>);</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span> </div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>   <span class="comment">// Only do this if the getter returns an l-value reference type.</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> resultType = Getter->getResultType();</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>   <span class="keywordflow">if</span> (!resultType-><a class="code" href="classclang_1_1Type.html#a4986b78356f1d0fa9d0f3c2244a9f9c9">isLValueReferenceType</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span> </div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>   result = buildRValueOperation(op);</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span> }</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span> <span class="comment"></span></div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span> <span class="comment">/// @property-specific behavior for doing assignments.</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span> ObjCPropertyOpBuilder::buildAssignmentOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc,</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</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> opcLoc,</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>                                                 <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>                                                 <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS) {</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>   assert(<a class="code" href="classclang_1_1BinaryOperator.html#a1ad39821a19882541e25746b16690515">BinaryOperator::isAssignmentOp</a>(opcode));</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span> </div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>   <span class="comment">// If there's no setter, we have no choice but to try to assign to</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>   <span class="comment">// the result of the getter.</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>   <span class="keywordflow">if</span> (!findSetter()) {</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result;</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>     <span class="keywordflow">if</span> (tryBuildGetOfReference(LHS, result)) {</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>       <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>       <span class="keywordflow">return</span> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ae4fc8526e7be7ed8ebbda0ea0cb444f1">BuildBinOp</a>(Sc, opcLoc, opcode, result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), RHS);</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>     }</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span> </div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>     <span class="comment">// Otherwise, it's an error.</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(opcLoc, diag::err_nosetter_property_assignment)</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>       << <a class="code" href="classunsigned.html">unsigned</a>(RefExpr->isImplicitProperty())</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>       << SetterSelector</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>       << LHS-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>() << RHS-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>   }</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span> </div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>   <span class="comment">// If there is a setter, we definitely want to use it.</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span> </div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>   <span class="comment">// Verify that we can do a compound assignment.</span></div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>   <span class="keywordflow">if</span> (opcode != <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af0f6693357ca6bc7488c1d4de4cbe303">BO_Assign</a> && !findGetter()) {</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(opcLoc, diag::err_nogetter_property_compound_assignment)</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>       << LHS-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>() << RHS-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>   }</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span> </div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result =</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>     PseudoOpBuilder::buildAssignmentOperation(Sc, opcLoc, opcode, LHS, RHS);</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> </div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>   <span class="comment">// Various warnings about property assignments in ARC.</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>   <span class="keywordflow">if</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().ObjCAutoRefCount && InstanceReceiver) {</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#acd045a04243c84333154a5f6a273a9a3" title="Check a message send to see if it's likely to cause a retain cycle.">checkRetainCycles</a>(InstanceReceiver->getSourceExpr(), RHS);</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a83ccb7d84963c1c84ce0f50c5a98bcca">checkUnsafeExprAssigns</a>(opcLoc, LHS, RHS);</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>   }</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span> </div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>   <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span> }</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> <span class="comment"></span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> <span class="comment">/// @property-specific behavior for doing increments and decrements.</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span> ObjCPropertyOpBuilder::buildIncDecOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc, <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> opcLoc,</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>                                             <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fff">UnaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>                                             <a class="code" href="classclang_1_1Expr.html">Expr</a> *op) {</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>   <span class="comment">// If there's no setter, we have no choice but to try to assign to</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>   <span class="comment">// the result of the getter.</span></div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>   <span class="keywordflow">if</span> (!findSetter()) {</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result;</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>     <span class="keywordflow">if</span> (tryBuildGetOfReference(op, result)) {</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>       <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>       <span class="keywordflow">return</span> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#aa1b94b6fbf559f2ef2300f5ebad7ae86">BuildUnaryOp</a>(Sc, opcLoc, opcode, result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>());</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>     }</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span> </div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>     <span class="comment">// Otherwise, it's an error.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(opcLoc, diag::err_nosetter_property_incdec)</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>       << <a class="code" href="classunsigned.html">unsigned</a>(RefExpr->isImplicitProperty())</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>       << <span class="keywordtype">unsigned</span>(<a class="code" href="classclang_1_1UnaryOperator.html#afcfec48525f68f01344240e54307e609">UnaryOperator::isDecrementOp</a>(opcode))</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>       << SetterSelector</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>       << op-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>   }</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span> </div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>   <span class="comment">// If there is a setter, we definitely want to use it.</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span> </div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   <span class="comment">// We also need a getter.</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>   <span class="keywordflow">if</span> (!findGetter()) {</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>     assert(RefExpr->isImplicitProperty());</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(opcLoc, diag::err_nogetter_property_incdec)</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>       << <a class="code" href="classunsigned.html">unsigned</a>(<a class="code" href="classclang_1_1UnaryOperator.html#afcfec48525f68f01344240e54307e609">UnaryOperator::isDecrementOp</a>(opcode))</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>       << GetterSelector</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>       << op-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>   }</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span> </div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>   <span class="keywordflow">return</span> PseudoOpBuilder::buildIncDecOperation(Sc, opcLoc, opcode, op);</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span> }</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> </div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCPropertyOpBuilder::complete(<a class="code" href="classclang_1_1Expr.html">Expr</a> *SyntacticForm) {</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>   <span class="keywordflow">if</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().ObjCAutoRefCount && isWeakProperty()) {</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a> =</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ace9dfca18443fd122215c74657d33b53">Diags</a>.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a1a9de9de7e5ad8218fa06ca8568aa52c" title="Based on the way the client configured the DiagnosticsEngine object, classify the specified diagnosti...">getDiagnosticLevel</a>(diag::warn_arc_repeated_use_of_weak,</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>                                  SyntacticForm-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>());</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>     <span class="keywordflow">if</span> (Level != <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a7576ca0c5417d008077e743b3d412234">DiagnosticsEngine::Ignored</a>)</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ac151b671dbe996dfa3d2585819b60f78">recordUseOfEvaluatedWeak</a>(SyntacticRefExpr,</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>                                  SyntacticRefExpr->isMessagingGetter());</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>   }</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span> </div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>   <span class="keywordflow">return</span> PseudoOpBuilder::complete(SyntacticForm);</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span> }</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span> </div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span> <span class="comment">// ObjCSubscript build stuff.</span></div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> <span class="comment"></span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span> <span class="comment">/// objective-c subscripting-specific behavior for doing lvalue-to-rvalue </span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span> <span class="comment">/// conversion.</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> <span class="comment">/// FIXME. Remove this routine if it is proven that no additional </span></div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span> <span class="comment">/// specifity is needed.</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCSubscriptOpBuilder::buildRValueOperation(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op) {</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result = PseudoOpBuilder::buildRValueOperation(op);</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>   <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span> }</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> <span class="comment"></span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span> <span class="comment">/// objective-c subscripting-specific  behavior for doing assignments.</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> ObjCSubscriptOpBuilder::buildAssignmentOperation(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc,</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</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> opcLoc,</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>                                                 <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>                                                 <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS) {</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>   assert(<a class="code" href="classclang_1_1BinaryOperator.html#a1ad39821a19882541e25746b16690515">BinaryOperator::isAssignmentOp</a>(opcode));</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>   <span class="comment">// There must be a method to do the Index'ed assignment.</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   <span class="keywordflow">if</span> (!findAtIndexSetter())</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>   </div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>   <span class="comment">// Verify that we can do a compound assignment.</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>   <span class="keywordflow">if</span> (opcode != <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af0f6693357ca6bc7488c1d4de4cbe303">BO_Assign</a> && !findAtIndexGetter())</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   </div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result =</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>   PseudoOpBuilder::buildAssignmentOperation(Sc, opcLoc, opcode, LHS, RHS);</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>   <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>   </div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>   <span class="comment">// Various warnings about objc Index'ed assignments in ARC.</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>   <span class="keywordflow">if</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().ObjCAutoRefCount && InstanceBase) {</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#acd045a04243c84333154a5f6a273a9a3" title="Check a message send to see if it's likely to cause a retain cycle.">checkRetainCycles</a>(InstanceBase->getSourceExpr(), RHS);</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a83ccb7d84963c1c84ce0f50c5a98bcca">checkUnsafeExprAssigns</a>(opcLoc, LHS, RHS);</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>   }</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>   </div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>   <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span> }</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span> <span class="comment"></span></div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> <span class="comment">/// Capture the base object of an Objective-C Index'ed expression.</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> <span class="comment"></span><a class="code" href="classclang_1_1Expr.html">Expr</a> *ObjCSubscriptOpBuilder::rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticBase) {</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>   assert(InstanceBase == 0);</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>   </div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>   <span class="comment">// Capture base expression in an OVE and rebuild the syntactic</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>   <span class="comment">// form to use the OVE as its base expression.</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>   InstanceBase = capture(RefExpr->getBaseExpr());</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>   InstanceKey = capture(RefExpr->getKeyExpr());</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>     </div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>   syntacticBase =</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>     ObjCSubscriptRefRebuilder(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, InstanceBase, </div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>                               InstanceKey).rebuild(syntacticBase);</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>   </div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>   <span class="keywordflow">return</span> syntacticBase;</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span> }</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span> <span class="comment"></span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span> <span class="comment">/// CheckSubscriptingKind - This routine decide what type </span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span> <span class="comment">/// of indexing represented by "FromE" is being done.</span></div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span> <span class="comment"></span><a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74">Sema::ObjCSubscriptKind</a> </div>
+<div class="line"><a name="l00981"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a6cd1454c46c874a4393ef67c7cab6f7a">  981</a></span>   <a class="code" href="classclang_1_1Sema.html#a6cd1454c46c874a4393ef67c7cab6f7a">Sema::CheckSubscriptingKind</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *FromE) {</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>   <span class="comment">// If the expression already has integral or enumeration type, we're golden.</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> T = FromE-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>   <span class="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>())</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>     <span class="keywordflow">return</span> OS_Array;</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>   </div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>   <span class="comment">// If we don't have a class type in C++, there's no way we can get an</span></div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>   <span class="comment">// expression of integral or enumeration type.</span></div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RecordTy = T-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>();</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>   <span class="keywordflow">if</span> (!RecordTy && T-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>())</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>     <span class="comment">// All other scalar cases are assumed to be dictionary indexing which</span></div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>     <span class="comment">// caller handles, with diagnostics if needed.</span></div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>     <span class="keywordflow">return</span> OS_Dictionary;</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>   <span class="keywordflow">if</span> (!getLangOpts().CPlusPlus || </div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>       !RecordTy || RecordTy-><a class="code" href="classclang_1_1Type.html#a6d84e779575f1e510f7ddc98119662bd" title="Def If non-NULL, and the type refers to some kind of declaration that can be completed (such as a C s...">isIncompleteType</a>()) {</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>     <span class="comment">// No indexing can be done. Issue diagnostics and quit.</span></div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *IndexExpr = FromE-><a class="code" href="classclang_1_1Expr.html#a54036c75e73ecdf081729210fa53e582">IgnoreParenImpCasts</a>();</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>     <span class="keywordflow">if</span> (isa<StringLiteral>(IndexExpr))</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(FromE-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_subscript_pointer)</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>         << T << <a class="code" href="classclang_1_1FixItHint.html#afd481d826e9ddaa39fc82a698a810246" title="Create a code modification hint that inserts the given code string at a specific location.">FixItHint::CreateInsertion</a>(FromE-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), <span class="stringliteral">"@"</span>);</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(FromE-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_subscript_type_conversion)</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>         << T;</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>     <span class="keywordflow">return</span> OS_Error;</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>   }</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>   </div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>   <span class="comment">// We must have a complete class type.</span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>   <span class="keywordflow">if</span> (RequireCompleteType(FromE-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), T, </div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>                           diag::err_objc_index_incomplete_class_type, FromE))</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>     <span class="keywordflow">return</span> OS_Error;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>   </div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>   <span class="comment">// Look for a conversion to an integral, enumeration type, or</span></div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>   <span class="comment">// objective-C pointer type.</span></div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>   <a class="code" href="classclang_1_1UnresolvedSet.html" title="A set of unresolved declarations.">UnresolvedSet<4></a> ViableConversions;</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>   <a class="code" href="classclang_1_1UnresolvedSet.html" title="A set of unresolved declarations.">UnresolvedSet<4></a> ExplicitConversions;</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>   std::pair<<a class="code" href="classclang_1_1CXXRecordDecl.html#a17223594351434d1c96fbacfb8907b08">CXXRecordDecl::conversion_iterator</a>,</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>             CXXRecordDecl::conversion_iterator> Conversions</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>     = cast<CXXRecordDecl>(RecordTy-><a class="code" href="classclang_1_1RecordType.html#a312ab3ebe179cc7d8692c07479c91076">getDecl</a>())->getVisibleConversionFunctions();</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>   </div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>   <span class="keywordtype">int</span> NoIntegrals=0, NoObjCIdPointers=0;</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<CXXConversionDecl *, 4></a> ConversionDecls;</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>     </div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>   <span class="keywordflow">for</span> (CXXRecordDecl::conversion_iterator</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>          I = Conversions.first, E = Conversions.second; I != E; ++I) {</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CXXConversionDecl.html" title="Represents a C++ conversion function within a class.">CXXConversionDecl</a> *Conversion</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>         = dyn_cast<CXXConversionDecl>((*I)->getUnderlyingDecl())) {</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> CT = Conversion->getConversionType().getNonReferenceType();</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>       <span class="keywordflow">if</span> (CT-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>()) {</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>         ++NoIntegrals;</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>         ConversionDecls.push_back(Conversion);</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>       }</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CT-><a class="code" href="classclang_1_1Type.html#a804794071498377a09e30e5e3399580e">isObjCIdType</a>() ||CT-><a class="code" href="classclang_1_1Type.html#ad6cd1a04cac76bfb304bbc02bf23a9bb">isBlockPointerType</a>()) {</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>         ++NoObjCIdPointers;</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>         ConversionDecls.push_back(Conversion);</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>       }</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>     }</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>   }</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>   <span class="keywordflow">if</span> (NoIntegrals ==1 && NoObjCIdPointers == 0)</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>     <span class="keywordflow">return</span> OS_Array;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>   <span class="keywordflow">if</span> (NoIntegrals == 0 && NoObjCIdPointers == 1)</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>     <span class="keywordflow">return</span> OS_Dictionary;</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>   <span class="keywordflow">if</span> (NoIntegrals == 0 && NoObjCIdPointers == 0) {</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>     <span class="comment">// No conversion function was found. Issue diagnostic and return.</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(FromE-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_subscript_type_conversion)</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>       << FromE-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>     <span class="keywordflow">return</span> OS_Error;</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>   }</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>   <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(FromE-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_multiple_subscript_type_conversion)</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>       << FromE-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < ConversionDecls.size(); i++)</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(ConversionDecls[i]->getLocation(), diag::not_conv_function_declared_at);</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>     </div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>   <span class="keywordflow">return</span> OS_Error;</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> }</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="comment"></span></div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="comment">/// CheckKeyForObjCARCConversion - This routine suggests bridge casting of CF</span></div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="comment">/// objects used as dictionary subscript key objects.</span></div>
+<div class="line"><a name="l01058"></a><span class="lineno"><a class="code" href="SemaPseudoObject_8cpp.html#accbd7db5db778eaed5d3fa1a068b9868"> 1058</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SemaPseudoObject_8cpp.html#accbd7db5db778eaed5d3fa1a068b9868">CheckKeyForObjCARCConversion</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1QualType.html">QualType</a> ContainerT, </div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>                                          <a class="code" href="classclang_1_1Expr.html">Expr</a> *Key) {</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>   <span class="keywordflow">if</span> (ContainerT.<a class="code" href="classclang_1_1QualType.html#a8f87f58000490ad01cd09add1f27d7ac" title="isNull - Return true if this QualType doesn't point to a type yet.">isNull</a>())</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>   <span class="comment">// dictionary subscripting.</span></div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>   <span class="comment">// - (id)objectForKeyedSubscript:(id)key;</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *KeyIdents[] = {</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>     &S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"objectForKeyedSubscript"</span>)  </div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>   };</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>   <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> GetterSelector = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a544656d98576ff2c1adb3e61a038e5b2">Selectors</a>.<a class="code" href="classclang_1_1SelectorTable.html#aae4996e6370b3c39722a757eb37b38b8" title="Can create any sort of selector.">getSelector</a>(1, KeyIdents);</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>   <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *Getter = S.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(GetterSelector, ContainerT, </div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>                                                       <span class="keyword">true</span> <span class="comment">/*instance*/</span>);</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>   <span class="keywordflow">if</span> (!Getter)</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> T = Getter-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a6e3f1b5626a6e795168b51ff78888bf9">param_begin</a>()[0]->getType();</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>   S.<a class="code" href="classclang_1_1Sema.html#a655b54deb0e363f62d62e7e97875d101" title="Checks for invalid conversions and casts between retainable pointers and other pointer kinds...">CheckObjCARCConversion</a>(Key-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>(), </div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>                          T, Key, <a class="code" href="classclang_1_1Sema.html#a9dea85d39a5c50003f66661208001726a4f059adbddee3e69ff60710a8dc31a93" title="An implicit conversion.">Sema::CCK_ImplicitConversion</a>);</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordtype">bool</span> ObjCSubscriptOpBuilder::findAtIndexGetter() {</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>   <span class="keywordflow">if</span> (AtIndexGetter)</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>   </div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExpr = RefExpr->getBaseExpr();</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseT = BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>   </div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> ResultType;</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *PTy =</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>       BaseT-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>()) {</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>     ResultType = PTy-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *iQFaceTy = </div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>         ResultType-><a class="code" href="classclang_1_1Type.html#a6cb86316f5332081ec37ef315718f716">getAsObjCQualifiedInterfaceType</a>())</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>       ResultType = iQFaceTy->getBaseType();</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>   }</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>   <a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74">Sema::ObjCSubscriptKind</a> Res = </div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a6cd1454c46c874a4393ef67c7cab6f7a">CheckSubscriptingKind</a>(RefExpr->getKeyExpr());</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>   <span class="keywordflow">if</span> (Res == <a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74aeaea02147c1b3991c7e9bc13bdad948c">Sema::OS_Error</a>) {</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>     <span class="keywordflow">if</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().ObjCAutoRefCount)</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>       <a class="code" href="SemaPseudoObject_8cpp.html#accbd7db5db778eaed5d3fa1a068b9868">CheckKeyForObjCARCConversion</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, ResultType, </div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>                                    RefExpr->getKeyExpr());</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>   }</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>   <span class="keywordtype">bool</span> arrayRef = (Res == <a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74a371c2d0d89870dfe1ea5bee862aab2b9">Sema::OS_Array</a>);</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>   </div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>   <span class="keywordflow">if</span> (ResultType.<a class="code" href="classclang_1_1QualType.html#a8f87f58000490ad01cd09add1f27d7ac" title="isNull - Return true if this QualType doesn't point to a type yet.">isNull</a>()) {</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(BaseExpr-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_subscript_base_type)</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>       << BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>() << arrayRef;</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>   }</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>   <span class="keywordflow">if</span> (!arrayRef) {</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>     <span class="comment">// dictionary subscripting.</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>     <span class="comment">// - (id)objectForKeyedSubscript:(id)key;</span></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *KeyIdents[] = {</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>       &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"objectForKeyedSubscript"</span>)  </div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>     };</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>     AtIndexGetterSelector = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a544656d98576ff2c1adb3e61a038e5b2">Selectors</a>.<a class="code" href="classclang_1_1SelectorTable.html#aae4996e6370b3c39722a757eb37b38b8" title="Can create any sort of selector.">getSelector</a>(1, KeyIdents);</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>   }</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>   <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>     <span class="comment">// - (id)objectAtIndexedSubscript:(size_t)index;</span></div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *KeyIdents[] = {</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>       &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"objectAtIndexedSubscript"</span>)  </div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>     };</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>   </div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>     AtIndexGetterSelector = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a544656d98576ff2c1adb3e61a038e5b2">Selectors</a>.<a class="code" href="classclang_1_1SelectorTable.html#aae4996e6370b3c39722a757eb37b38b8" title="Can create any sort of selector.">getSelector</a>(1, KeyIdents);</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>   }</div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>   </div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>   AtIndexGetter = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(AtIndexGetterSelector, ResultType, </div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>                                              <span class="keyword">true</span> <span class="comment">/*instance*/</span>);</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>   <span class="keywordtype">bool</span> receiverIdType = (BaseT-><a class="code" href="classclang_1_1Type.html#a804794071498377a09e30e5e3399580e">isObjCIdType</a>() ||</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>                          BaseT-><a class="code" href="classclang_1_1Type.html#aa60914a09293ea3aaf876bf9a5890f06">isObjCQualifiedIdType</a>());</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>   </div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>   <span class="keywordflow">if</span> (!AtIndexGetter && <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().DebuggerObjCLiteral) {</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>     AtIndexGetter = <a class="code" href="classclang_1_1ObjCMethodDecl.html#ad3e3e73fa88f08cb8b769f4614cdb237">ObjCMethodDecl::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), </div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</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>(), AtIndexGetterSelector,</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>                            <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a46cf0bb1b4e31396963afe4f98956273" title="Represents the Objective-CC id type.">getObjCIdType</a>() <span class="comment">/*ReturnType*/</span>,</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>                            0 <span class="comment">/*TypeSourceInfo */</span>,</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>                            <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#abd909fb01ef10cfd0244832a67b1dd64">getTranslationUnitDecl</a>(),</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>                            <span class="keyword">true</span> <span class="comment">/*Instance*/</span>, <span class="keyword">false</span><span class="comment">/*isVariadic*/</span>,</div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>                            <span class="comment">/*isPropertyAccessor=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>                            <span class="comment">/*isImplicitlyDeclared=*/</span><span class="keyword">true</span>, <span class="comment">/*isDefined=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>                            <a class="code" href="classclang_1_1ObjCMethodDecl.html#a542f187aaa0c0781b19ead8e71198abea703b6cb86335709a7f15e1df6932b1bb">ObjCMethodDecl::Required</a>,</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>                            <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>     <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *Argument = <a class="code" href="classclang_1_1ParmVarDecl.html#aa4caff73c551f0c8ac06b6ddc51d1a09">ParmVarDecl::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, AtIndexGetter,</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>                                                 <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>                                                 arrayRef ? &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"index"</span>)</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>                                                          : &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"key"</span>),</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>                                                 arrayRef ? <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a76182acff43ec4d01c06751bb8a2f7bc">UnsignedLongTy</a></div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>                                                          : <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a46cf0bb1b4e31396963afe4f98956273" title="Represents the Objective-CC id type.">getObjCIdType</a>(),</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>                                                 <span class="comment">/*TInfo=*/</span>0,</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>                                                 <a class="code" href="namespaceclang.html#a56dabc7d0ce7d72b9a35f6f5c3f89370aebf74ba707605e744f1303f997b2477f">SC_None</a>,</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>                                                 0);</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>     AtIndexGetter->setMethodParams(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, Argument, None);</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>   }</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>   <span class="keywordflow">if</span> (!AtIndexGetter) {</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>     <span class="keywordflow">if</span> (!receiverIdType) {</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(BaseExpr-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_subscript_method_not_found)</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>       << BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>() << 0 << arrayRef;</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>     }</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>     AtIndexGetter = </div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a8c15e530e00ae55ecfd1c80a9f50152c">LookupInstanceMethodInGlobalPool</a>(AtIndexGetterSelector, </div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>                                          RefExpr->getSourceRange(), </div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>                                          <span class="keyword">true</span>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>   }</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>   </div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>   <span class="keywordflow">if</span> (AtIndexGetter) {</div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T = AtIndexGetter->param_begin()[0]->getType();</div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>     <span class="keywordflow">if</span> ((arrayRef && !T-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>()) ||</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>         (!arrayRef && !T-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>())) {</div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getKeyExpr()->getExprLoc(), </div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>              arrayRef ? diag::err_objc_subscript_index_type</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>                       : diag::err_objc_subscript_key_type) << T;</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(AtIndexGetter->param_begin()[0]->getLocation(), </div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>              diag::note_parameter_type) << T;</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>     }</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> R = AtIndexGetter->getResultType();</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>     <span class="keywordflow">if</span> (!R-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>()) {</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getKeyExpr()->getExprLoc(),</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>              diag::err_objc_indexing_method_result_type) << R << arrayRef;</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(AtIndexGetter->getLocation(), diag::note_method_declared_at) <<</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>         AtIndexGetter->getDeclName();</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>     }</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>   }</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> </div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keywordtype">bool</span> ObjCSubscriptOpBuilder::findAtIndexSetter() {</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>   <span class="keywordflow">if</span> (AtIndexSetter)</div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>   </div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExpr = RefExpr->getBaseExpr();</div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseT = BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>   </div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> ResultType;</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *PTy =</div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>       BaseT-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>()) {</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>     ResultType = PTy-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *iQFaceTy = </div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>         ResultType-><a class="code" href="classclang_1_1Type.html#a6cb86316f5332081ec37ef315718f716">getAsObjCQualifiedInterfaceType</a>())</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>       ResultType = iQFaceTy->getBaseType();</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>   }</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>   </div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>   <a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74">Sema::ObjCSubscriptKind</a> Res = </div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a6cd1454c46c874a4393ef67c7cab6f7a">CheckSubscriptingKind</a>(RefExpr->getKeyExpr());</div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>   <span class="keywordflow">if</span> (Res == <a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74aeaea02147c1b3991c7e9bc13bdad948c">Sema::OS_Error</a>) {</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>     <span class="keywordflow">if</span> (<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().ObjCAutoRefCount)</div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>       <a class="code" href="SemaPseudoObject_8cpp.html#accbd7db5db778eaed5d3fa1a068b9868">CheckKeyForObjCARCConversion</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, ResultType, </div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>                                    RefExpr->getKeyExpr());</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>   }</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>   <span class="keywordtype">bool</span> arrayRef = (Res == <a class="code" href="classclang_1_1Sema.html#ae8e0486f527760042e666b0c34f8ba74a371c2d0d89870dfe1ea5bee862aab2b9">Sema::OS_Array</a>);</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>   </div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>   <span class="keywordflow">if</span> (ResultType.<a class="code" href="classclang_1_1QualType.html#a8f87f58000490ad01cd09add1f27d7ac" title="isNull - Return true if this QualType doesn't point to a type yet.">isNull</a>()) {</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(BaseExpr-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), diag::err_objc_subscript_base_type)</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>       << BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>() << arrayRef;</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>   }</div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>   </div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>   <span class="keywordflow">if</span> (!arrayRef) {</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>     <span class="comment">// dictionary subscripting.</span></div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>     <span class="comment">// - (void)setObject:(id)object forKeyedSubscript:(id)key;</span></div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *KeyIdents[] = {</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>       &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"setObject"</span>),</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>       &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"forKeyedSubscript"</span>)</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>     };</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>     AtIndexSetterSelector = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a544656d98576ff2c1adb3e61a038e5b2">Selectors</a>.<a class="code" href="classclang_1_1SelectorTable.html#aae4996e6370b3c39722a757eb37b38b8" title="Can create any sort of selector.">getSelector</a>(2, KeyIdents);</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>   }</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>   <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>     <span class="comment">// - (void)setObject:(id)object atIndexedSubscript:(NSInteger)index;</span></div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *KeyIdents[] = {</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>       &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"setObject"</span>),</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>       &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"atIndexedSubscript"</span>)</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>     };</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>     AtIndexSetterSelector = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a544656d98576ff2c1adb3e61a038e5b2">Selectors</a>.<a class="code" href="classclang_1_1SelectorTable.html#aae4996e6370b3c39722a757eb37b38b8" title="Can create any sort of selector.">getSelector</a>(2, KeyIdents);</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>   }</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>   AtIndexSetter = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a0151fedc4b5aea3fc0f2c7d26fd7fa85" title="LookupMethodInType - Look up a method in an ObjCObjectType.">LookupMethodInObjectType</a>(AtIndexSetterSelector, ResultType, </div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>                                              <span class="keyword">true</span> <span class="comment">/*instance*/</span>);</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>   </div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>   <span class="keywordtype">bool</span> receiverIdType = (BaseT-><a class="code" href="classclang_1_1Type.html#a804794071498377a09e30e5e3399580e">isObjCIdType</a>() ||</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>                          BaseT-><a class="code" href="classclang_1_1Type.html#aa60914a09293ea3aaf876bf9a5890f06">isObjCQualifiedIdType</a>());</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> </div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>   <span class="keywordflow">if</span> (!AtIndexSetter && <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().DebuggerObjCLiteral) {</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>     <a class="code" href="classclang_1_1TypeSourceInfo.html" title="A container of type source information.">TypeSourceInfo</a> *ResultTInfo = 0;</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> ReturnType = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#aaa9dd0ebd4ff2e55c572f5718b7af508">VoidTy</a>;</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>     AtIndexSetter = <a class="code" href="classclang_1_1ObjCMethodDecl.html#ad3e3e73fa88f08cb8b769f4614cdb237">ObjCMethodDecl::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</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>(), AtIndexSetterSelector,</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>                            ReturnType,</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>                            ResultTInfo,</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>                            <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#abd909fb01ef10cfd0244832a67b1dd64">getTranslationUnitDecl</a>(),</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>                            <span class="keyword">true</span> <span class="comment">/*Instance*/</span>, <span class="keyword">false</span><span class="comment">/*isVariadic*/</span>,</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>                            <span class="comment">/*isPropertyAccessor=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>                            <span class="comment">/*isImplicitlyDeclared=*/</span><span class="keyword">true</span>, <span class="comment">/*isDefined=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>                            <a class="code" href="classclang_1_1ObjCMethodDecl.html#a542f187aaa0c0781b19ead8e71198abea703b6cb86335709a7f15e1df6932b1bb">ObjCMethodDecl::Required</a>,</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>                            <span class="keyword">false</span>); </div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>     <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<ParmVarDecl *, 2></a> Params;</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>     <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *<span class="keywordtype">object</span> = <a class="code" href="classclang_1_1ParmVarDecl.html#aa4caff73c551f0c8ac06b6ddc51d1a09">ParmVarDecl::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, AtIndexSetter,</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>                                                 <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>                                                 &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"object"</span>),</div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>                                                 <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a46cf0bb1b4e31396963afe4f98956273" title="Represents the Objective-CC id type.">getObjCIdType</a>(),</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>                                                 <span class="comment">/*TInfo=*/</span>0,</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>                                                 <a class="code" href="namespaceclang.html#a56dabc7d0ce7d72b9a35f6f5c3f89370aebf74ba707605e744f1303f997b2477f">SC_None</a>,</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>                                                 0);</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>     Params.push_back(<span class="keywordtype">object</span>);</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>     <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *key = <a class="code" href="classclang_1_1ParmVarDecl.html#aa4caff73c551f0c8ac06b6ddc51d1a09">ParmVarDecl::Create</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, AtIndexSetter,</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>                                                 <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>                                                 arrayRef ?  &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"index"</span>)</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>                                                          :  &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"key"</span>),</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>                                                 arrayRef ? <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a76182acff43ec4d01c06751bb8a2f7bc">UnsignedLongTy</a></div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>                                                          : <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a46cf0bb1b4e31396963afe4f98956273" title="Represents the Objective-CC id type.">getObjCIdType</a>(),</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>                                                 <span class="comment">/*TInfo=*/</span>0,</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>                                                 <a class="code" href="namespaceclang.html#a56dabc7d0ce7d72b9a35f6f5c3f89370aebf74ba707605e744f1303f997b2477f">SC_None</a>,</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>                                                 0);</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>     Params.push_back(key);</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>     AtIndexSetter->setMethodParams(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, Params, None);</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>   }</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>   </div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>   <span class="keywordflow">if</span> (!AtIndexSetter) {</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>     <span class="keywordflow">if</span> (!receiverIdType) {</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(BaseExpr-><a class="code" href="classclang_1_1Expr.html#ab4fa508722ecc1546ad73cb31b0dc06c">getExprLoc</a>(), </div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>              diag::err_objc_subscript_method_not_found)</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>       << BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>() << 1 << arrayRef;</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>     }</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>     AtIndexSetter = </div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a8c15e530e00ae55ecfd1c80a9f50152c">LookupInstanceMethodInGlobalPool</a>(AtIndexSetterSelector, </div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>                                          RefExpr->getSourceRange(), </div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>                                          <span class="keyword">true</span>, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>   }</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>   </div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>   <span class="keywordtype">bool</span> err = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>   <span class="keywordflow">if</span> (AtIndexSetter && arrayRef) {</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T = AtIndexSetter->param_begin()[1]->getType();</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>     <span class="keywordflow">if</span> (!T-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>()) {</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getKeyExpr()->getExprLoc(), </div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>              diag::err_objc_subscript_index_type) << T;</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(AtIndexSetter->param_begin()[1]->getLocation(), </div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>              diag::note_parameter_type) << T;</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>       err = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>     }</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>     T = AtIndexSetter->param_begin()[0]->getType();</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>     <span class="keywordflow">if</span> (!T-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>()) {</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getBaseExpr()->getExprLoc(), </div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>              diag::err_objc_subscript_object_type) << T << arrayRef;</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>       <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(AtIndexSetter->param_begin()[0]->getLocation(), </div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>              diag::note_parameter_type) << T;</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>       err = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>     }</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>   }</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (AtIndexSetter && !arrayRef)</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i=0; i <2; i++) {</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> T = AtIndexSetter->param_begin()[i]->getType();</div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>       <span class="keywordflow">if</span> (!T-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>()) {</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>         <span class="keywordflow">if</span> (i == 1)</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>           <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getKeyExpr()->getExprLoc(),</div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>                  diag::err_objc_subscript_key_type) << T;</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>         <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>           <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getBaseExpr()->getExprLoc(),</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>                  diag::err_objc_subscript_dic_object_type) << T;</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>         <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(AtIndexSetter->param_begin()[i]->getLocation(), </div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>                diag::note_parameter_type) << T;</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>         err = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>       }</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>     }</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> </div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>   <span class="keywordflow">return</span> !err;</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> }</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="comment">// Get the object at "Index" position in the container.</span></div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="comment">// [BaseExpr objectAtIndexedSubscript : IndexExpr];</span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCSubscriptOpBuilder::buildGet() {</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>   <span class="keywordflow">if</span> (!findAtIndexGetter())</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>   </div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> receiverType = InstanceBase->getType();</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>     </div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>   <span class="comment">// Build a message-send.</span></div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> msg;</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *Index = InstanceKey;</div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>   </div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>   <span class="comment">// Arguments.</span></div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *args[] = { Index };</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>   assert(InstanceBase);</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>   msg = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a7a9276cc442c1f0f64d230dfa44b193b">BuildInstanceMessageImplicit</a>(InstanceBase, receiverType,</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>                                        GenericLoc,</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>                                        AtIndexGetterSelector, AtIndexGetter,</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>                                        <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a>(args, 1));</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>   <span class="keywordflow">return</span> msg;</div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> }</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="comment"></span></div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="comment">/// Store into the container the "op" object at "Index"'ed location</span></div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="comment">/// by building this messaging expression:</span></div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="comment">/// - (void)setObject:(id)object atIndexedSubscript:(NSInteger)index;</span></div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="comment">/// \param captureSetValueAsResult If true, capture the actual</span></div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="comment">///   value being set as the value of the property operation.</span></div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> ObjCSubscriptOpBuilder::buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <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> opcLoc,</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>                                            <span class="keywordtype">bool</span> captureSetValueAsResult) {</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>   <span class="keywordflow">if</span> (!findAtIndexSetter())</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>   </div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> receiverType = InstanceBase->getType();</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *Index = InstanceKey;</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>   </div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>   <span class="comment">// Arguments.</span></div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *args[] = { op, Index };</div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>   </div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>   <span class="comment">// Build a message-send.</span></div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> msg = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a7a9276cc442c1f0f64d230dfa44b193b">BuildInstanceMessageImplicit</a>(InstanceBase, receiverType,</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>                                                   GenericLoc,</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>                                                   AtIndexSetterSelector,</div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>                                                   AtIndexSetter,</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>                                                   <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a>(args, 2));</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>   </div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>   <span class="keywordflow">if</span> (!msg.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>() && captureSetValueAsResult) {</div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>     <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *msgExpr =</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>       cast<ObjCMessageExpr>(msg.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a4044b5da6ee0f7a5a67419dc5a106883">IgnoreImplicit</a>());</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *arg = msgExpr-><a class="code" href="classclang_1_1ObjCMessageExpr.html#ac8e7d18b71e06a146c924102e41bcffd" title="getArg - Return the specified argument.">getArg</a>(0);</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>     <span class="keywordflow">if</span> (CanCaptureValueOfType(arg->getType()))</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>       msgExpr-><a class="code" href="classclang_1_1ObjCMessageExpr.html#aea72b853627ea5ee8ddc24f5b65bfc1f" title="setArg - Set the specified argument.">setArg</a>(0, captureValueAsResult(arg));</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>   }</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>   </div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>   <span class="keywordflow">return</span> msg;</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> }</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> </div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="comment">//  MSVC __declspec(property) references</span></div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> </div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *MSPropertyOpBuilder::rebuildAndCaptureObject(<a class="code" href="classclang_1_1Expr.html">Expr</a> *syntacticBase) {</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *NewBase = capture(RefExpr->getBaseExpr());</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> </div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>   syntacticBase =</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>     MSPropertyRefRebuilder(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, NewBase).rebuild(syntacticBase);</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> </div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>   <span class="keywordflow">return</span> syntacticBase;</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> }</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> </div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> MSPropertyOpBuilder::buildGet() {</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>   <span class="keywordflow">if</span> (!RefExpr->getPropertyDecl()->hasGetter()) {</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getMemberLoc(), diag::err_no_getter_for_property)</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>       << RefExpr->getPropertyDecl()->getName();</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>   }</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> </div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>   <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> GetterName;</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II = RefExpr->getPropertyDecl()->getGetterId();</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>   GetterName.<a class="code" href="classclang_1_1UnqualifiedId.html#a20feecdc75f0d057e2b280446a03988e" title="Specify that this unqualified-id was parsed as an identifier.">setIdentifier</a>(II, RefExpr->getMemberLoc());</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>   <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> SS;</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>   SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#affaa2c51e158af0922be6e03da14a04c" title="Adopt an existing nested-name-specifier (with source-range information).">Adopt</a>(RefExpr->getQualifierLoc());</div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> GetterExpr = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a67b1bfa5f005492236ea16f0b5b0a8be">ActOnMemberAccessExpr</a>(</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a4504652f79876b46ab3e4e1f26936127" title="Retrieve the parser's current scope.">getCurScope</a>(), RefExpr->getBaseExpr(), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>     RefExpr->isArrow() ? tok::arrow : tok::period, SS, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>     GetterName, 0, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>   <span class="keywordflow">if</span> (GetterExpr.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) {</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getMemberLoc(), diag::error_cannot_find_suitable_getter)</div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>       << RefExpr->getPropertyDecl()->getName();</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>   }</div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> </div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>   <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> ArgExprs;</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>   <span class="keywordflow">return</span> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a0e5bbdff7eaa8aeced42363adcbf6636">ActOnCallExpr</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a4504652f79876b46ab3e4e1f26936127" title="Retrieve the parser's current scope.">getCurScope</a>(), GetterExpr.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(),</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>                          RefExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), ArgExprs,</div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>                          RefExpr->getSourceRange().getEnd());</div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> }</div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> </div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> MSPropertyOpBuilder::buildSet(<a class="code" href="classclang_1_1Expr.html">Expr</a> *op, <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> sl,</div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>                                          <span class="keywordtype">bool</span> captureSetValueAsResult) {</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>   <span class="keywordflow">if</span> (!RefExpr->getPropertyDecl()->hasSetter()) {</div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getMemberLoc(), diag::err_no_setter_for_property)</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>       << RefExpr->getPropertyDecl()->getName();</div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>   }</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> </div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>   <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> SetterName;</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II = RefExpr->getPropertyDecl()->getSetterId();</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>   SetterName.<a class="code" href="classclang_1_1UnqualifiedId.html#a20feecdc75f0d057e2b280446a03988e" title="Specify that this unqualified-id was parsed as an identifier.">setIdentifier</a>(II, RefExpr->getMemberLoc());</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>   <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> SS;</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>   SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#affaa2c51e158af0922be6e03da14a04c" title="Adopt an existing nested-name-specifier (with source-range information).">Adopt</a>(RefExpr->getQualifierLoc());</div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> SetterExpr = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a67b1bfa5f005492236ea16f0b5b0a8be">ActOnMemberAccessExpr</a>(</div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a4504652f79876b46ab3e4e1f26936127" title="Retrieve the parser's current scope.">getCurScope</a>(), RefExpr->getBaseExpr(), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>     RefExpr->isArrow() ? tok::arrow : tok::period, SS, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>     SetterName, 0, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>   <span class="keywordflow">if</span> (SetterExpr.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) {</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>     <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(RefExpr->getMemberLoc(), diag::error_cannot_find_suitable_setter)</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>       << RefExpr->getPropertyDecl()->getName();</div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>   }</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> </div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<Expr*, 1></a> ArgExprs;</div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>   ArgExprs.push_back(op);</div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>   <span class="keywordflow">return</span> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a0e5bbdff7eaa8aeced42363adcbf6636">ActOnCallExpr</a>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>.<a class="code" href="classclang_1_1Sema.html#a4504652f79876b46ab3e4e1f26936127" title="Retrieve the parser's current scope.">getCurScope</a>(), SetterExpr.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(),</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>                          RefExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), ArgExprs,</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>                          op-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>());</div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> }</div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> </div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="comment">//  General Sema routines.</span></div>
+<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div>
+<div class="line"><a name="l01458"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#aa0426d44accb78f8828c274a36b63446"> 1458</a></span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1Sema.html#aa0426d44accb78f8828c274a36b63446">Sema::checkPseudoObjectRValue</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) {</div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *opaqueRef = E-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>         = dyn_cast<ObjCPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>     ObjCPropertyOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>     <span class="keywordflow">return</span> builder.buildRValueOperation(E);</div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>   }</div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>            = dyn_cast<ObjCSubscriptRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>     ObjCSubscriptOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>     <span class="keywordflow">return</span> builder.buildRValueOperation(E);</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>              = dyn_cast<MSPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>     MSPropertyOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>     <span class="keywordflow">return</span> builder.buildRValueOperation(E);</div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>     llvm_unreachable(<span class="stringliteral">"unknown pseudo-object kind!"</span>);</div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>   }</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> }</div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> <span class="comment"></span></div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="comment">/// Check an increment or decrement of a pseudo-object expression.</span></div>
+<div class="line"><a name="l01479"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a6a09f7d43edfe35eb77adbeb3cc265fa"> 1479</a></span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1Sema.html#a6a09f7d43edfe35eb77adbeb3cc265fa" title="Check an increment or decrement of a pseudo-object expression.">Sema::checkPseudoObjectIncDec</a>(<a class="code" href="classclang_1_1Scope.html">Scope</a> *Sc, <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> opcLoc,</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>                                          <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fff">UnaryOperatorKind</a> opcode, <a class="code" href="classclang_1_1Expr.html">Expr</a> *op) {</div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>   <span class="comment">// Do nothing if the operand is dependent.</span></div>
+<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>   <span class="keywordflow">if</span> (op-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>())</div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a>(op, opcode, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4b9c29396317bed688dfe9d5b909f04f">DependentTy</a>,</div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>                                        <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340a7486248bcb086a1f969a9e138208dcd7" title="An r-value expression (a pr-value in the C++11 taxonomy) produces a temporary value.">VK_RValue</a>, <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a83fc60c978ed1f1be293f1d2fcb6b5c5" title="An ordinary object is located at an address in memory.">OK_Ordinary</a>, opcLoc);</div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> </div>
+<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>   assert(<a class="code" href="classclang_1_1UnaryOperator.html#ad7efc89eee73f2dbd63d9ed7000c40a3">UnaryOperator::isIncrementDecrementOp</a>(opcode));</div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *opaqueRef = op-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>         = dyn_cast<ObjCPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>     ObjCPropertyOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>     <span class="keywordflow">return</span> builder.buildIncDecOperation(Sc, opcLoc, opcode, op);</div>
+<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isa<ObjCSubscriptRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(opcLoc, diag::err_illegal_container_subscripting_op);</div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>              = dyn_cast<MSPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>     MSPropertyOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>     <span class="keywordflow">return</span> builder.buildIncDecOperation(Sc, opcLoc, opcode, op);</div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>     llvm_unreachable(<span class="stringliteral">"unknown pseudo-object kind!"</span>);</div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>   }</div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> }</div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div>
+<div class="line"><a name="l01504"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a41e8ba2922db6abdea85b57e5fa9515f"> 1504</a></span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1Sema.html#a41e8ba2922db6abdea85b57e5fa9515f">Sema::checkPseudoObjectAssignment</a>(<a class="code" href="classclang_1_1Scope.html">Scope</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</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> opcLoc,</div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>                                              <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperatorKind</a> opcode,</div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>                                              <a class="code" href="classclang_1_1Expr.html">Expr</a> *LHS, <a class="code" href="classclang_1_1Expr.html">Expr</a> *RHS) {</div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>   <span class="comment">// Do nothing if either argument is dependent.</span></div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>   <span class="keywordflow">if</span> (LHS-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>() || RHS-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>())</div>
+<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a>(LHS, RHS, opcode, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4b9c29396317bed688dfe9d5b909f04f">DependentTy</a>,</div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>                                         <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340a7486248bcb086a1f969a9e138208dcd7" title="An r-value expression (a pr-value in the C++11 taxonomy) produces a temporary value.">VK_RValue</a>, <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a83fc60c978ed1f1be293f1d2fcb6b5c5" title="An ordinary object is located at an address in memory.">OK_Ordinary</a>, opcLoc, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> </div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>   <span class="comment">// Filter out non-overload placeholder types in the RHS.</span></div>
+<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>   <span class="keywordflow">if</span> (RHS-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#a5d6da4849c055787d4b55463f7f3e668">isNonOverloadPlaceholderType</a>()) {</div>
+<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result = CheckPlaceholderExpr(RHS);</div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>     <span class="keywordflow">if</span> (result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>     RHS = result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>   }</div>
+<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> </div>
+<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *opaqueRef = LHS-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>         = dyn_cast<ObjCPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>     ObjCPropertyOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>     <span class="keywordflow">return</span> builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS);</div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>              = dyn_cast<ObjCSubscriptRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>     ObjCSubscriptOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>     <span class="keywordflow">return</span> builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS);</div>
+<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>              = dyn_cast<MSPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>     MSPropertyOpBuilder builder(*<span class="keyword">this</span>, refExpr);</div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>     <span class="keywordflow">return</span> builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS);</div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>     llvm_unreachable(<span class="stringliteral">"unknown pseudo-object kind!"</span>);</div>
+<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>   }</div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> }</div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="comment"></span></div>
+<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> <span class="comment">/// Given a pseudo-object reference, rebuild it without the opaque</span></div>
+<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> <span class="comment">/// values.  Basically, undo the behavior of rebuildAndCaptureObject.</span></div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="comment">/// This should never operate in-place.</span></div>
+<div class="line"><a name="l01540"></a><span class="lineno"><a class="code" href="SemaPseudoObject_8cpp.html#a603042fd5e7aef86bcf95a75ebe1fcc4"> 1540</a></span> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="SemaPseudoObject_8cpp.html#a603042fd5e7aef86bcf95a75ebe1fcc4">stripOpaqueValuesFromPseudoObjectRef</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Expr.html">Expr</a> *E) {</div>
+<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *opaqueRef = E-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>         = dyn_cast<ObjCPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>     <span class="comment">// Class and super property references don't have opaque values in them.</span></div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>     <span class="keywordflow">if</span> (refExpr->isClassReceiver() || refExpr->isSuperReceiver())</div>
+<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>       <span class="keywordflow">return</span> E;</div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>     </div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>     assert(refExpr->isObjectReceiver() && <span class="stringliteral">"Unknown receiver kind?"</span>);</div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *baseOVE = cast<OpaqueValueExpr>(refExpr->getBase());</div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>     <span class="keywordflow">return</span> ObjCPropertyRefRebuilder(S, baseOVE->getSourceExpr()).rebuild(E);</div>
+<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCSubscriptRefExpr.html">ObjCSubscriptRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>                = dyn_cast<ObjCSubscriptRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *baseOVE = cast<OpaqueValueExpr>(refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a8fbfb4a7c06f1d4e63eeedebd4acd2c3">getBaseExpr</a>());</div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *keyOVE = cast<OpaqueValueExpr>(refExpr->getKeyExpr());</div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>     <span class="keywordflow">return</span> ObjCSubscriptRefRebuilder(S, baseOVE-><a class="code" href="classclang_1_1OpaqueValueExpr.html#ab105e60e67105a6ea713896d632e9670">getSourceExpr</a>(), </div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>                                      keyOVE->getSourceExpr()).rebuild(E);</div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a> *refExpr</div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>              = dyn_cast<MSPropertyRefExpr>(opaqueRef)) {</div>
+<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>     <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *baseOVE = cast<OpaqueValueExpr>(refExpr-><a class="code" href="classclang_1_1MSPropertyRefExpr.html#a8fbfb4a7c06f1d4e63eeedebd4acd2c3">getBaseExpr</a>());</div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>     <span class="keywordflow">return</span> MSPropertyRefRebuilder(S, baseOVE-><a class="code" href="classclang_1_1OpaqueValueExpr.html#ab105e60e67105a6ea713896d632e9670">getSourceExpr</a>()).rebuild(E);</div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>     llvm_unreachable(<span class="stringliteral">"unknown pseudo-object kind!"</span>);</div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>   }</div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> }</div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="comment"></span></div>
+<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="comment">/// Given a pseudo-object expression, recreate what it looks like</span></div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="comment">/// syntactically without the attendant OpaqueValueExprs.</span></div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="comment">/// This is a hack which should be removed when TreeTransform is</span></div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="comment">/// capable of rebuilding a tree without stripping implicit</span></div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="comment">/// operations.</span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a4f52f05c76e2d42f59b963d997f2da48"> 1572</a></span> <span class="comment"></span><a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Sema.html#a4f52f05c76e2d42f59b963d997f2da48">Sema::recreateSyntacticForm</a>(<a class="code" href="classclang_1_1PseudoObjectExpr.html">PseudoObjectExpr</a> *E) {</div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *syntax = E-><a class="code" href="classclang_1_1PseudoObjectExpr.html#a4412c8cea58337229e7b417fec34dbd4">getSyntacticForm</a>();</div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *uop = dyn_cast<UnaryOperator>(syntax)) {</div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *op = <a class="code" href="SemaPseudoObject_8cpp.html#a603042fd5e7aef86bcf95a75ebe1fcc4">stripOpaqueValuesFromPseudoObjectRef</a>(*<span class="keyword">this</span>, uop->getSubExpr());</div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a>(op, uop->getOpcode(), uop-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>                                        uop->getValueKind(), uop->getObjectKind(),</div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>                                        uop->getOperatorLoc());</div>
+<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CompoundAssignOperator.html">CompoundAssignOperator</a> *cop</div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>                = dyn_cast<CompoundAssignOperator>(syntax)) {</div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *lhs = <a class="code" href="SemaPseudoObject_8cpp.html#a603042fd5e7aef86bcf95a75ebe1fcc4">stripOpaqueValuesFromPseudoObjectRef</a>(*<span class="keyword">this</span>, cop->getLHS());</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rhs = cast<OpaqueValueExpr>(cop->getRHS())->getSourceExpr();</div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1CompoundAssignOperator.html">CompoundAssignOperator</a>(lhs, rhs, cop->getOpcode(),</div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>                                                 cop-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>                                                 cop->getValueKind(),</div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>                                                 cop->getObjectKind(),</div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>                                                 cop->getComputationLHSType(),</div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>                                                 cop->getComputationResultType(),</div>
+<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>                                                 cop->getOperatorLoc(), <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a> *bop = dyn_cast<BinaryOperator>(syntax)) {</div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *lhs = <a class="code" href="SemaPseudoObject_8cpp.html#a603042fd5e7aef86bcf95a75ebe1fcc4">stripOpaqueValuesFromPseudoObjectRef</a>(*<span class="keyword">this</span>, bop->getLHS());</div>
+<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *rhs = cast<OpaqueValueExpr>(bop->getRHS())->getSourceExpr();</div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a>(lhs, rhs, bop->getOpcode(),</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>                                         bop-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(), bop->getValueKind(),</div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>                                         bop->getObjectKind(),</div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>                                         bop->getOperatorLoc(), <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>     assert(syntax-><a class="code" href="classclang_1_1Expr.html#aa6b472c5ff8128dd7b78df4f598fa20b" title="Returns whether this expression has a placeholder type.">hasPlaceholderType</a>(BuiltinType::PseudoObject));</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>     <span class="keywordflow">return</span> <a class="code" href="SemaPseudoObject_8cpp.html#a603042fd5e7aef86bcf95a75ebe1fcc4">stripOpaqueValuesFromPseudoObjectRef</a>(*<span class="keyword">this</span>, syntax);</div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>   }</div>
+<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:07 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/SemaPseudoObject_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaPseudoObject_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaPseudoObject_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaPseudoObject_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,592 @@
+<!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: SemaPseudoObject.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_0c3cadfa2fbef89a3b8f57073e8a31f9.html">Sema</a></li><li class="navelem"><a class="el" href="dir_eb0099ce9b4bd055698282f76081f892.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SemaPseudoObject.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaPseudoObject_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/Sema/Release+Asserts/SemaPseudoObject.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Sema/Release+Asserts/SemaPseudoObject.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SemaPseudoObject.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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/Sema/../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> </div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h:</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/MangleNumberingContext.h:</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.h:</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> </div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.h:</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> </div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.h:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00436"></a><span class="lineno">  436</span> </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h:</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc:</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.h:</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h:</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.h:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.h:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ObjCMethodList.h:</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.h:</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h:</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h:</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h:</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h:</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc:</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h:</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h:</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h:</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> </div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> </div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h:</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> </div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h:</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> </div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h:</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> </div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.h:</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h:</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:07 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/SemaStmtAsm_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAsm_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAsm_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAsm_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,566 @@
+<!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: SemaStmtAsm.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_0c3cadfa2fbef89a3b8f57073e8a31f9.html">Sema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SemaStmtAsm.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaStmtAsm_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">//===--- SemaStmtAsm.cpp - Semantic Analysis for Asm Statements -----------===//</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 semantic analysis for inline asm statements.</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="SemaInternal_8h.html">clang/Sema/SemaInternal.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="RecordLayout_8h.html">clang/AST/RecordLayout.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="TypeLoc_8h.html" title="Defines the clang::TypeLoc interface and its subclasses.">clang/AST/TypeLoc.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="include_2clang_2Basic_2TargetInfo_8h.html" title="Defines the clang::TargetInfo interface.">clang/Basic/TargetInfo.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="Initialization_8h.html">clang/Sema/Initialization.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Lookup_8h.html">clang/Sema/Lookup.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Scope_8h.html">clang/Sema/Scope.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="ScopeInfo_8h.html">clang/Sema/ScopeInfo.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/BitVector.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">using namespace </span>sema;</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">/// CheckAsmLValue - GNU C has an extremely ugly extension whereby they silently</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">/// ignore "noop" casts in places where an lvalue is required by an inline asm.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">/// We emulate this behavior when -fheinous-gnu-extensions is specified, but</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">/// provide a strong guidance to not use it.</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">/// This method checks to see if the argument is an acceptable l-value and</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// returns false if it is a case we can handle.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="SemaStmtAsm_8cpp.html#a452b11e074d284c7a1140521e81df7c7">   35</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaStmtAsm_8cpp.html#a452b11e074d284c7a1140521e81df7c7">CheckAsmLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="comment">// Type dependent expressions will be checked during instantiation.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordflow">if</span> (E-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>())</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     <span class="keywordflow">return</span> <span class="keyword">false</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">   40</span>   <span class="keywordflow">if</span> (E-><a class="code" href="classclang_1_1Expr.html#a6ef085b1e84bebe337c2a4ca4d1df5fd">isLValue</a>())</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;  <span class="comment">// Cool, this is an lvalue.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <span class="comment">// Okay, this is not an lvalue, but perhaps it is the result of a cast that we</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="comment">// are supposed to allow.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E2 = E-><a class="code" href="classclang_1_1Expr.html#a3ba2c34d95094c419c79ef3aa7be05e8">IgnoreParenNoopCasts</a>(S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>);</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keywordflow">if</span> (E != E2 && E2-><a class="code" href="classclang_1_1Expr.html#a6ef085b1e84bebe337c2a4ca4d1df5fd">isLValue</a>()) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <span class="keywordflow">if</span> (!S.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().HeinousExtensions)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>       S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(E2-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(), diag::err_invalid_asm_cast_lvalue)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>         << E-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>       S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(E2-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(), diag::warn_invalid_asm_cast_lvalue)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>         << E-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>     <span class="comment">// Accept, even if we emitted an error diagnostic.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>     <span class="keywordflow">return</span> <span class="keyword">false</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="comment">// None of the above, just randomly invalid non-lvalue.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keywordflow">return</span> <span class="keyword">true</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> <span class="comment"></span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment">/// isOperandMentioned - Return true if the specified operand # is mentioned</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment">/// anywhere in the decomposed asm string.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="SemaStmtAsm_8cpp.html#a91ed4920a06687c4ea099e404eadee48">   63</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaStmtAsm_8cpp.html#a91ed4920a06687c4ea099e404eadee48">isOperandMentioned</a>(<span class="keywordtype">unsigned</span> OpNo,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>                          <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<GCCAsmStmt::AsmStringPiece></a> AsmStrPieces) {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> p = 0, e = AsmStrPieces.size(); p != e; ++p) {</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html">GCCAsmStmt::AsmStringPiece</a> &Piece = AsmStrPieces[p];</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     <span class="keywordflow">if</span> (!Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a7e5e2a4d2e4a4da38022c220afc4f7ef">isOperand</a>()) <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     <span class="comment">// If this is a reference to the input and if the input was the smaller</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="comment">// one, then we have to reject this asm.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     <span class="keywordflow">if</span> (Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb">getOperandNo</a>() == OpNo)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>       <span class="keywordflow">return</span> <span class="keyword">true</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>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> }</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#aa75e6cf708b19df81303d73ec2e55f2c">   77</a></span> <a class="code" href="classclang_1_1ActionResult.html">StmtResult</a> <a class="code" href="classclang_1_1Sema.html#aa75e6cf708b19df81303d73ec2e55f2c">Sema::ActOnGCCAsmStmt</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> AsmLoc, <span class="keywordtype">bool</span> IsSimple,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                                  <span class="keywordtype">bool</span> IsVolatile, <span class="keywordtype">unsigned</span> NumOutputs,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>                                  <span class="keywordtype">unsigned</span> NumInputs, <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> **Names,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>                                  <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> constraints, <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> Exprs,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>                                  <a class="code" href="classclang_1_1Expr.html">Expr</a> *asmString, <a class="code" href="namespaceclang.html#a2cab300377c9fa787240e2d1d0f70e17">MultiExprArg</a> clobbers,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>                                  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> RParenLoc) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   <span class="keywordtype">unsigned</span> NumClobbers = clobbers.size();</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **Constraints =</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>     <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a>**<span class="keyword">></span>(constraints.data());</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *AsmString = cast<StringLiteral>(asmString);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **Clobbers = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a>**<span class="keyword">></span>(clobbers.data());</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="classllvm_1_1SmallVector.html">SmallVector<TargetInfo::ConstraintInfo, 4></a> OutputConstraintInfos;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="comment">// The parser verifies that there is a string literal here.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keywordflow">if</span> (!AsmString-><a class="code" href="classclang_1_1StringLiteral.html#a7de7620dc8a11dcd19cd60c2517a955d">isAscii</a>())</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(AsmString-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),diag::err_asm_wide_character)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>       << AsmString-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</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">   96</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != NumOutputs; i++) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>     <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *Literal = Constraints[i];</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>     <span class="keywordflow">if</span> (!Literal-><a class="code" href="classclang_1_1StringLiteral.html#a7de7620dc8a11dcd19cd60c2517a955d">isAscii</a>())</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),diag::err_asm_wide_character)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>         << Literal-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</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>     StringRef OutputName;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>     <span class="keywordflow">if</span> (Names[i])</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>       OutputName = Names[i]-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     <a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html">TargetInfo::ConstraintInfo</a> Info(Literal-><a class="code" href="classclang_1_1StringLiteral.html#a5ac45571169396e74d296c733811a243">getString</a>(), OutputName);</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     <span class="keywordflow">if</span> (!<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>().<a class="code" href="classclang_1_1TargetInfo.html#af10aebe37b21276d03847479f3bceb0f">validateOutputConstraint</a>(Info))</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>                             diag::err_asm_invalid_output_constraint)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>                        << Info.getConstraintStr());</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     <span class="comment">// Check that the output exprs are valid lvalues.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *OutputExpr = Exprs[i];</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     <span class="keywordflow">if</span> (<a class="code" href="SemaStmtAsm_8cpp.html#a452b11e074d284c7a1140521e81df7c7">CheckAsmLValue</a>(OutputExpr, *<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(OutputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(),</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>                             diag::err_asm_invalid_lvalue_in_output)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                        << OutputExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <span class="keywordflow">if</span> (RequireCompleteType(OutputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(), Exprs[i]->getType(),</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>                             diag::err_dereference_incomplete_type))</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>();</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>     OutputConstraintInfos.push_back(Info);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   }</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<TargetInfo::ConstraintInfo, 4></a> InputConstraintInfos;</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>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = NumOutputs, e = NumOutputs + NumInputs; i != e; i++) {</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>     <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *Literal = Constraints[i];</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     <span class="keywordflow">if</span> (!Literal-><a class="code" href="classclang_1_1StringLiteral.html#a7de7620dc8a11dcd19cd60c2517a955d">isAscii</a>())</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),diag::err_asm_wide_character)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>         << Literal-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</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>     StringRef InputName;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     <span class="keywordflow">if</span> (Names[i])</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>       InputName = Names[i]-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>();</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>     <a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html">TargetInfo::ConstraintInfo</a> Info(Literal-><a class="code" href="classclang_1_1StringLiteral.html#a5ac45571169396e74d296c733811a243">getString</a>(), InputName);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     <span class="keywordflow">if</span> (!<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>().<a class="code" href="classclang_1_1TargetInfo.html#a48aab58dd77eaab08652d5fd07151d00">validateInputConstraint</a>(OutputConstraintInfos.data(),</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>                                                 NumOutputs, Info)) {</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>                             diag::err_asm_invalid_input_constraint)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                        << Info.getConstraintStr());</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     }</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *InputExpr = Exprs[i];</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     <span class="comment">// Only allow void types for memory constraints.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     <span class="keywordflow">if</span> (Info.allowsMemory() && !Info.allowsRegister()) {</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>       <span class="keywordflow">if</span> (<a class="code" href="SemaStmtAsm_8cpp.html#a452b11e074d284c7a1140521e81df7c7">CheckAsmLValue</a>(InputExpr, *<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(InputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(),</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>                               diag::err_asm_invalid_lvalue_in_input)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                          << Info.getConstraintStr()</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                          << InputExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</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">if</span> (Info.allowsRegister()) {</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>       <span class="keywordflow">if</span> (InputExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#a0ee6d74a089fe24d755d9cfd8bceef3f">isVoidType</a>()) {</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(InputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(),</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>                               diag::err_asm_invalid_type_in_input)</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>           << InputExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>() << Info.getConstraintStr()</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>           << InputExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</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> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> Result = DefaultFunctionArrayLvalueConversion(Exprs[i]);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordflow">if</span> (Result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>())</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>();</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>     Exprs[i] = Result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     InputConstraintInfos.push_back(Info);</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="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *Ty = Exprs[i]->getType().getTypePtr();</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">if</span> (Ty-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>())</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>       <span class="keywordflow">continue</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">  177</span>     <span class="keywordflow">if</span> (!Ty-><a class="code" href="classclang_1_1Type.html#a0ee6d74a089fe24d755d9cfd8bceef3f">isVoidType</a>() || !Info.allowsMemory())</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <span class="keywordflow">if</span> (RequireCompleteType(InputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(), Exprs[i]->getType(),</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>                               diag::err_dereference_incomplete_type))</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>();</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <span class="keywordtype">unsigned</span> Size = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(Ty);</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     <span class="keywordflow">if</span> (!<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>().<a class="code" href="classclang_1_1TargetInfo.html#ab44d74dcd65937a09445d3b7e26d1255">validateInputSize</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#a5ac45571169396e74d296c733811a243">getString</a>(),</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>                                                    Size))</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(InputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(),</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>                             diag::err_asm_invalid_input_size)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>                        << Info.getConstraintStr());</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">  190</span>   <span class="comment">// Check that the clobbers are valid.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != NumClobbers; i++) {</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *Literal = Clobbers[i];</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>     <span class="keywordflow">if</span> (!Literal-><a class="code" href="classclang_1_1StringLiteral.html#a7de7620dc8a11dcd19cd60c2517a955d">isAscii</a>())</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),diag::err_asm_wide_character)</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>         << Literal-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</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>     StringRef Clobber = Literal-><a class="code" href="classclang_1_1StringLiteral.html#a5ac45571169396e74d296c733811a243">getString</a>();</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="keywordflow">if</span> (!<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>().<a class="code" href="classclang_1_1TargetInfo.html#ae48229b6a07bae1520ad65d17d48283d" title="Returns whether the passed in string is a valid clobber in an inline asm statement.">isValidClobber</a>(Clobber))</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#aa43ad588db383f5f78a29019acd5b02b">getLocStart</a>(),</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>                   diag::err_asm_unknown_register_name) << Clobber);</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">  204</span>   <a class="code" href="classclang_1_1GCCAsmStmt.html">GCCAsmStmt</a> *NS =</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>     <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1GCCAsmStmt.html">GCCAsmStmt</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, AsmLoc, IsSimple, IsVolatile, NumOutputs,</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>                              NumInputs, Names, Constraints, Exprs.data(),</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>                              AsmString, NumClobbers, Clobbers, RParenLoc);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   <span class="comment">// Validate the asm string, ensuring it makes sense given the operands we</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <span class="comment">// have.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<GCCAsmStmt::AsmStringPiece, 8></a> Pieces;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   <span class="keywordtype">unsigned</span> DiagOffs;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="keywordflow">if</span> (<span class="keywordtype">unsigned</span> DiagID = NS-><a class="code" href="classclang_1_1GCCAsmStmt.html#a0bc9cbcfc0ebe857c14e054a693ff806">AnalyzeAsmString</a>(Pieces, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, DiagOffs)) {</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(getLocationOfStringLiteralByte(AsmString, DiagOffs), DiagID)</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>            << AsmString-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>();</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> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <span class="comment">// Validate constraints and modifiers.</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Pieces.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html">GCCAsmStmt::AsmStringPiece</a> &Piece = Pieces[i];</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     <span class="keywordflow">if</span> (!Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a7e5e2a4d2e4a4da38022c220afc4f7ef">isOperand</a>()) <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     <span class="comment">// Look for the correct constraint index.</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     <span class="keywordtype">unsigned</span> Idx = 0;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>     <span class="keywordtype">unsigned</span> ConstraintIdx = 0;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = NS-><a class="code" href="classclang_1_1AsmStmt.html#a932f490fb6bd45a87b52e8205dd99b4e">getNumOutputs</a>(); i != e; ++i, ++ConstraintIdx) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>       <a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html">TargetInfo::ConstraintInfo</a> &Info = OutputConstraintInfos[i];</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>       <span class="keywordflow">if</span> (Idx == Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb">getOperandNo</a>())</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>       ++Idx;</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="keywordflow">if</span> (Info.<a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html#a48131ae496a2ab1d95173d2f7d6b7733">isReadWrite</a>()) {</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>         <span class="keywordflow">if</span> (Idx == Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb">getOperandNo</a>())</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>         ++Idx;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>       }</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>     }</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = NS-><a class="code" href="classclang_1_1AsmStmt.html#ae746b964e34edabd4d1b905e0095d955">getNumInputs</a>(); i != e; ++i, ++ConstraintIdx) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>       <a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html">TargetInfo::ConstraintInfo</a> &Info = InputConstraintInfos[i];</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>       <span class="keywordflow">if</span> (Idx == Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb">getOperandNo</a>())</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>       ++Idx;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>       <span class="keywordflow">if</span> (Info.<a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html#a48131ae496a2ab1d95173d2f7d6b7733">isReadWrite</a>()) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>         <span class="keywordflow">if</span> (Idx == Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb">getOperandNo</a>())</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>         ++Idx;</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>     }</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     <span class="comment">// Now that we have the right indexes go ahead and check.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *Literal = Constraints[ConstraintIdx];</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *Ty = Exprs[ConstraintIdx]->getType().getTypePtr();</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">if</span> (Ty-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>() || Ty-><a class="code" href="classclang_1_1Type.html#a6d84e779575f1e510f7ddc98119662bd" title="Def If non-NULL, and the type refers to some kind of declaration that can be completed (such as a C s...">isIncompleteType</a>())</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordtype">unsigned</span> Size = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(Ty);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     <span class="keywordflow">if</span> (!<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>()</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>           .<a class="code" href="classclang_1_1TargetInfo.html#a549f039b69ca4b695cee47d98614b0e2">validateConstraintModifier</a>(Literal-><a class="code" href="classclang_1_1StringLiteral.html#a5ac45571169396e74d296c733811a243">getString</a>(), Piece.<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a2144420be1ab06bde81b6a0a3afd9cca">getModifier</a>(),</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>                                       Size))</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Exprs[ConstraintIdx]->getLocStart(),</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>            diag::warn_asm_mismatched_size_modifier);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>   }</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   <span class="comment">// Validate tied input operands for type mismatches.</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = InputConstraintInfos.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>     <a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html">TargetInfo::ConstraintInfo</a> &Info = InputConstraintInfos[i];</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>     <span class="comment">// If this is a tied constraint, verify that the output and input have</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     <span class="comment">// either exactly the same type, or that they are int/ptr operands with the</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>     <span class="comment">// same size (int/long, int*/long, are ok etc).</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>     <span class="keywordflow">if</span> (!Info.<a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html#ab2af3290dcab0061ed52ae35c5a66cc5" title="Return true if this input operand is a matching constraint that ties it to an output operand...">hasTiedOperand</a>()) <span class="keywordflow">continue</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>     <span class="keywordtype">unsigned</span> TiedTo = Info.<a class="code" href="structclang_1_1TargetInfo_1_1ConstraintInfo.html#a661850358f2ea88dd9b0ec7833492872">getTiedOperand</a>();</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>     <span class="keywordtype">unsigned</span> InputOpNo = i+NumOutputs;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *OutputExpr = Exprs[TiedTo];</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *InputExpr = Exprs[InputOpNo];</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     <span class="keywordflow">if</span> (OutputExpr-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>() || InputExpr-><a class="code" href="classclang_1_1Expr.html#a48cd7038510f42d44e314d1b8d294824">isTypeDependent</a>())</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> InTy = InputExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> OutTy = OutputExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     <span class="keywordflow">if</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a889b9d309fdc236f1eab037484f10f8a" title="Determine whether the given types T1 and T2 are equivalent.">hasSameType</a>(InTy, OutTy))</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>       <span class="keywordflow">continue</span>;  <span class="comment">// All types can be tied to themselves.</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>     <span class="comment">// Decide if the input and output are in the same domain (integer/ptr or</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <span class="comment">// floating point.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     <span class="keyword">enum</span> AsmDomain {</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>       AD_Int, AD_FP, AD_Other</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     } InputDomain, OutputDomain;</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="keywordflow">if</span> (InTy-><a class="code" href="classclang_1_1Type.html#a8bde7a56623fd89e9efafde792c56dac">isIntegerType</a>() || InTy-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>())</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>       InputDomain = AD_Int;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (InTy-><a class="code" href="classclang_1_1Type.html#a1c534c15a8299e5d31f356edb725c31f" title="Floating point categories.">isRealFloatingType</a>())</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>       InputDomain = AD_FP;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>       InputDomain = AD_Other;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     <span class="keywordflow">if</span> (OutTy-><a class="code" href="classclang_1_1Type.html#a8bde7a56623fd89e9efafde792c56dac">isIntegerType</a>() || OutTy-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>())</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>       OutputDomain = AD_Int;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (OutTy-><a class="code" href="classclang_1_1Type.html#a1c534c15a8299e5d31f356edb725c31f" title="Floating point categories.">isRealFloatingType</a>())</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>       OutputDomain = AD_FP;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>       OutputDomain = AD_Other;</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>     <span class="comment">// They are ok if they are the same size and in the same domain.  This</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>     <span class="comment">// allows tying things like:</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     <span class="comment">//   void* to int*</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>     <span class="comment">//   void* to int            if they are the same size.</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>     <span class="comment">//   double to long double   if they are the same size.</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     uint64_t OutSize = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(OutTy);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     uint64_t InSize = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(InTy);</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>     <span class="keywordflow">if</span> (OutSize == InSize && InputDomain == OutputDomain &&</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>         InputDomain != AD_Other)</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>     <span class="comment">// If the smaller input/output operand is not mentioned in the asm string,</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>     <span class="comment">// then we can promote the smaller one to a larger input and the asm string</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>     <span class="comment">// won't notice.</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     <span class="keywordtype">bool</span> SmallerValueMentioned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>     <span class="comment">// If this is a reference to the input and if the input was the smaller</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>     <span class="comment">// one, then we have to reject this asm.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>     <span class="keywordflow">if</span> (<a class="code" href="SemaStmtAsm_8cpp.html#a91ed4920a06687c4ea099e404eadee48">isOperandMentioned</a>(InputOpNo, Pieces)) {</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>       <span class="comment">// This is a use in the asm string of the smaller operand.  Since we</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>       <span class="comment">// codegen this by promoting to a wider value, the asm will get printed</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>       <span class="comment">// "wrong".</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>       SmallerValueMentioned |= InSize < OutSize;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>     }</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>     <span class="keywordflow">if</span> (<a class="code" href="SemaStmtAsm_8cpp.html#a91ed4920a06687c4ea099e404eadee48">isOperandMentioned</a>(TiedTo, Pieces)) {</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>       <span class="comment">// If this is a reference to the output, and if the output is the larger</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>       <span class="comment">// value, then it's ok because we'll promote the input to the larger type.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>       SmallerValueMentioned |= OutSize < InSize;</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> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>     <span class="comment">// If the smaller value wasn't mentioned in the asm string, and if the</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>     <span class="comment">// output was a register, just extend the shorter one to the size of the</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <span class="comment">// larger one.</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>     <span class="keywordflow">if</span> (!SmallerValueMentioned && InputDomain != AD_Other &&</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>         OutputConstraintInfos[TiedTo].allowsRegister())</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>       <span class="keywordflow">continue</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">  346</span>     <span class="comment">// Either both of the operands were mentioned or the smaller one was</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>     <span class="comment">// mentioned.  One more special case that we'll allow: if the tied input is</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>     <span class="comment">// integer, unmentioned, and is a constant, then we'll allow truncating it</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>     <span class="comment">// down to the size of the destination.</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     <span class="keywordflow">if</span> (InputDomain == AD_Int && OutputDomain == AD_Int &&</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>         !<a class="code" href="SemaStmtAsm_8cpp.html#a91ed4920a06687c4ea099e404eadee48">isOperandMentioned</a>(InputOpNo, Pieces) &&</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>         InputExpr-><a class="code" href="classclang_1_1Expr.html#a34ea5af15a7a831d0b9b872ee1faf7ed">isEvaluatable</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>)) {</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>       <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8c" title="CastKind - The kind of operation required for a conversion.">CastKind</a> castKind =</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>         (OutTy-><a class="code" href="classclang_1_1Type.html#ac16047fbf3b5325d6528d8557803b0cc">isBooleanType</a>() ? <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca10227766dc73da8ee82588b158be3ec5">CK_IntegralToBoolean</a> : <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8cad71cad80dd5957bfc6e8aa8f3a36f814">CK_IntegralCast</a>);</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>       InputExpr = ImpCastExprToType(InputExpr, OutTy, castKind).take();</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>       Exprs[InputOpNo] = InputExpr;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>       NS-><a class="code" href="classclang_1_1GCCAsmStmt.html#a8722f2bfc12ec4e4591794056c13e5c2">setInputExpr</a>(i, InputExpr);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     }</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(InputExpr-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(),</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>          diag::err_asm_tying_incompatible_types)</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>       << InTy << OutTy << OutputExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>()</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>       << InputExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a72e08dd7978003227c1191013023a22d">StmtError</a>();</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> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <span class="keywordflow">return</span> Owned(NS);</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> </div>
+<div class="line"><a name="l00371"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#adf070d60551daadccfe5b415e6d0f9f2">  371</a></span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1Sema.html#adf070d60551daadccfe5b415e6d0f9f2">Sema::LookupInlineAsmIdentifier</a>(<a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> &SS,</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</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> TemplateKWLoc,</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>                                            <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> &Id,</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>                                            <a class="code" href="classclang_1_1Sema.html#a0dd751987d94811ec82608b09fd12c24">InlineAsmIdentifierInfo</a> &Info,</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>                                            <span class="keywordtype">bool</span> IsUnevaluatedContext) {</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   Info.clear();</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   <span class="keywordflow">if</span> (IsUnevaluatedContext)</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>     PushExpressionEvaluationContext(UnevaluatedAbstract,</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>                                     ReuseLambdaContextDecl);</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>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> Result = ActOnIdExpression(getCurScope(), SS, TemplateKWLoc, Id,</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>                                         <span class="comment">/*trailing lparen*/</span> <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>                                         <span class="comment">/*is & operand*/</span> <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>                                         <span class="comment">/*CorrectionCandidateCallback=*/</span>0,</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>                                         <span class="comment">/*IsInlineAsmIdentifier=*/</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">if</span> (IsUnevaluatedContext)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>     PopExpressionEvaluationContext();</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <span class="keywordflow">if</span> (!Result.<a class="code" href="classclang_1_1ActionResult.html#ae70d0a2fa83269f71f1634cb9e0dc3d6">isUsable</a>()) <span class="keywordflow">return</span> Result;</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>   Result = CheckPlaceholderExpr(Result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>());</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="keywordflow">if</span> (!Result.<a class="code" href="classclang_1_1ActionResult.html#ae70d0a2fa83269f71f1634cb9e0dc3d6">isUsable</a>()) <span class="keywordflow">return</span> Result;</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> T = Result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</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>   <span class="comment">// For now, reject dependent types.</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>   <span class="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>()) {</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(Id.<a class="code" href="classclang_1_1UnqualifiedId.html#a92c0ce5983b528cf8853d06ff275df10">getLocStart</a>(), diag::err_asm_incomplete_type) << T;</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   }</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>   <span class="comment">// Any sort of function type is fine.</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>   <span class="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#af0ae1f40cbbc07fabfefc86af91072e3">isFunctionType</a>()) {</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>     <span class="keywordflow">return</span> Result;</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> </div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   <span class="comment">// Otherwise, it needs to be a complete type.</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   <span class="keywordflow">if</span> (RequireCompleteExprType(Result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>(), diag::err_asm_incomplete_type)) {</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   }</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <span class="comment">// Compute the type size (and array length if applicable?).</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   Info.Type = Info.Size = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae8d8371f22bd850bced9b4b9ca848c4e" title="Return the size of the specified (complete) type T, in characters.">getTypeSizeInChars</a>(T).<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>();</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   <span class="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#a53b83bd119ae77bc77e92dc69a8c8094">isArrayType</a>()) {</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ArrayType.html">ArrayType</a> *ATy = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a2f9f0d5fa876bf2fb8be3fdd0fc70244">getAsArrayType</a>(T);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     Info.<a class="code" href="classclang_1_1Type.html#a8bf1a75d03b9a653f319a1b76254ca5d">Type</a> = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae8d8371f22bd850bced9b4b9ca848c4e" title="Return the size of the specified (complete) type T, in characters.">getTypeSizeInChars</a>(ATy-><a class="code" href="classclang_1_1ArrayType.html#ad9681a11b43dc70a3c4db07d2a450d12">getElementType</a>()).getQuantity();</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>     Info.Length = Info.Size / Info.Type;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   }</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   <span class="comment">// We can work with the expression as long as it's not an r-value.</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   <span class="keywordflow">if</span> (!Result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()-><a class="code" href="classclang_1_1Expr.html#a4cd56ea13000be78c5459f10df89e84a">isRValue</a>())</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>     Info.IsVarDecl = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <span class="keywordflow">return</span> Result;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> }</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#aa8ca8eef3154ee5aa98f8f04db9e22ee">  429</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Sema.html#aa8ca8eef3154ee5aa98f8f04db9e22ee">Sema::LookupInlineAsmField</a>(StringRef <a class="code" href="classclang_1_1Base.html">Base</a>, StringRef Member,</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>                                 <span class="keywordtype">unsigned</span> &<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</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> AsmLoc) {</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   Offset = 0;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> <a class="code" href="namespaceclang.html#aeee8f8c1c67c3a771189855aa20bed93">BaseResult</a>(*<span class="keyword">this</span>, &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(Base), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>                           LookupOrdinaryName);</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>   <span class="keywordflow">if</span> (!LookupName(<a class="code" href="classclang_1_1ActionResult.html">BaseResult</a>, getCurScope()))</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ActionResult.html">BaseResult</a>.isSingleResult())</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>     <span class="keywordflow">return</span> <span class="keyword">true</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="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RT = 0;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *FoundDecl = <a class="code" href="classclang_1_1ActionResult.html">BaseResult</a>.getFoundDecl();</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD = dyn_cast<VarDecl>(FoundDecl))</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>     RT = VD->getType()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>();</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1TypedefDecl.html">TypedefDecl</a> *TD = dyn_cast<TypedefDecl>(FoundDecl))</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     RT = TD->getUnderlyingType()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>();</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   <span class="keywordflow">if</span> (!RT)</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="keywordflow">if</span> (RequireCompleteType(AsmLoc, <a class="code" href="classclang_1_1QualType.html">QualType</a>(RT, 0), 0))</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>   <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> FieldResult(*<span class="keyword">this</span>, &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(Member), <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>                            LookupMemberName);</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>   <span class="keywordflow">if</span> (!LookupQualifiedName(FieldResult, RT-><a class="code" href="classclang_1_1RecordType.html#a312ab3ebe179cc7d8692c07479c91076">getDecl</a>()))</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="comment">// FIXME: Handle IndirectFieldDecl?</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD = dyn_cast<<a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a>>(FieldResult.getFoundDecl());</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   <span class="keywordflow">if</span> (!FD)</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &RL = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a47d9de77f967abb78dd8d1b8228a0d2a" title="Get or compute information about the layout of the specified record (struct/union/class) D...">getASTRecordLayout</a>(RT-><a class="code" href="classclang_1_1RecordType.html#a312ab3ebe179cc7d8692c07479c91076">getDecl</a>());</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>   <span class="keywordtype">unsigned</span> i = FD-><a class="code" href="classclang_1_1FieldDecl.html#a791f9f1096135e185996c5ba65491863">getFieldIndex</a>();</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> Result = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a5d5f812ba1100ca9ef1c1a812b2f5a24" title="Convert a size in bits to a size in characters.">toCharUnitsFromBits</a>(RL.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(i));</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>   Offset = (<a class="code" href="classunsigned.html">unsigned</a>)Result.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>();</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> }</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a0fcfe12869998f60fb6dd7bf7dbfd1ba">  472</a></span> <a class="code" href="classclang_1_1ActionResult.html">StmtResult</a> <a class="code" href="classclang_1_1Sema.html#a0fcfe12869998f60fb6dd7bf7dbfd1ba">Sema::ActOnMSAsmStmt</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> AsmLoc, <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> LBraceLoc,</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>                                 <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Token></a> AsmToks,</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>                                 StringRef AsmString,</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>                                 <span class="keywordtype">unsigned</span> NumOutputs, <span class="keywordtype">unsigned</span> NumInputs,</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>                                 <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> Constraints,</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>                                 <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> Clobbers,</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>                                 <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr*></a> Exprs,</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</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> EndLoc) {</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>   <span class="keywordtype">bool</span> IsSimple = (NumOutputs != 0 || NumInputs != 0);</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <a class="code" href="classclang_1_1MSAsmStmt.html">MSAsmStmt</a> *NS =</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1MSAsmStmt.html">MSAsmStmt</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, AsmLoc, LBraceLoc, IsSimple,</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>                             <span class="comment">/*IsVolatile*/</span> <span class="keyword">true</span>, AsmToks, NumOutputs, NumInputs,</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>                             Constraints, Exprs, AsmString,</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>                             Clobbers, EndLoc);</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>   <span class="keywordflow">return</span> Owned(NS);</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:08 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/SemaStmtAsm_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAsm_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAsm_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAsm_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,613 @@
+<!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: SemaStmtAsm.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_0c3cadfa2fbef89a3b8f57073e8a31f9.html">Sema</a></li><li class="navelem"><a class="el" href="dir_eb0099ce9b4bd055698282f76081f892.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SemaStmtAsm.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaStmtAsm_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/Sema/Release+Asserts/SemaStmtAsm.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Sema/Release+Asserts/SemaStmtAsm.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SemaStmtAsm.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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/Sema/../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../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="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RecordLayout.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Lookup.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Scope.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/include/llvm/ADT/BitVector.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/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.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/Sema/../../include/clang/AST/ASTContext.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/Sema/../../include/clang/AST/ASTTypeTraits.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/Sema/../../include/clang/AST/ASTFwd.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/Sema/../../include/clang/AST/DeclNodes.inc:</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/Sema/../../include/clang/AST/StmtNodes.inc:</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/Sema/../../include/clang/AST/TypeNodes.def:</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/Sema/../../include/clang/AST/Decl.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/Sema/../../include/clang/AST/APValue.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/Sema/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.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/SmallVector.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/AlignOf.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/Compiler.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/Config/llvm-config.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/MathExtras.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/SwapByteOrder.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/APSInt.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/PointerIntPair.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/Sema/../../include/clang/AST/DeclBase.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/Sema/../../include/clang/AST/AttrIterator.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/Sema/../../include/clang/AST/DeclarationName.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/Sema/../../include/clang/Basic/IdentifierTable.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/Sema/../../include/clang/Basic/OperatorKinds.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/Sema/../../include/clang/Basic/OperatorKinds.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/Sema/../../include/clang/Basic/TokenKinds.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/Sema/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/Sema/../../include/clang/Basic/PartialDiagnostic.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/Sema/../../include/clang/Basic/Diagnostic.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/Sema/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Sema/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.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/Sema/../../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="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/Sema/../../include/clang/Basic/Specifiers.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/PrettyStackTrace.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/Sema/../../include/clang/AST/ExternalASTSource.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/Sema/../../include/clang/AST/CharUnits.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/Sema/../../include/clang/AST/Redeclarable.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/Sema/../../include/clang/AST/Type.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/Sema/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.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/Sema/../../include/clang/AST/TemplateName.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/Sema/../../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="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/Sema/../../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="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/Twine.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def:</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/raw_ostream.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/FileSystem.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/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Sema/../../include/clang/AST/Stmt.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/Sema/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.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/Sema/../../include/clang/Basic/CapturedStmt.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/Sema/../../include/clang/AST/TemplateBase.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/Sema/../../include/clang/AST/TypeLoc.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/Sema/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.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/Sema/../../include/clang/AST/CommentCommandList.inc:</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/Sema/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.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/Sema/../../include/clang/Basic/ObjCRuntime.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/Sema/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/include/llvm/ADT/Triple.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/Sema/../../include/clang/Basic/Sanitizers.def:</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/Sema/../../include/clang/Basic/LangOptions.def:</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/Sema/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.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/Sema/../../include/clang/Basic/SourceManager.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/Sema/../../include/clang/Basic/FileManager.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/Sema/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/include/llvm-c/Core.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/Sema/../../include/clang/Basic/AddressSpaces.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/include/llvm/ADT/SmallPtrSet.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/include/llvm/ADT/TinyPtrVector.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/Sema/../../include/clang/Sema/Sema.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/Sema/../../include/clang/AST/Attr.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/Sema/../../include/clang/Basic/AttrKinds.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/Sema/../../include/clang/Basic/AttrList.inc:</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/include/llvm/ADT/StringSwitch.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/Sema/../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.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/Sema/../../include/clang/AST/ASTVector.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/Sema/../../include/clang/AST/DeclAccessPair.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/Sema/../../include/clang/AST/OperationKinds.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/Sema/../../include/clang/Basic/CharInfo.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/Sema/../../include/clang/Basic/TypeTraits.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/Sema/../../include/clang/Basic/Builtins.def:</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/Sema/../../include/clang/AST/ExprObjC.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/Sema/../../include/clang/AST/DeclObjC.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/Sema/../../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="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/Sema/../../include/clang/AST/MangleNumberingContext.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/Sema/../../include/clang/AST/NSAPI.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/Sema/../../include/clang/Basic/ExpressionTraits.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/Sema/../../include/clang/Basic/OpenMPKinds.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/Sema/../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Sema/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.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/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h:</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.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/Sema/../../include/clang/Basic/Lambda.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/Sema/../../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="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/Sema/../../include/clang/Sema/AttributeList.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/Sema/../../include/clang/Sema/Ownership.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc:</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.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/Sema/../../include/clang/AST/DeclCXX.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/Sema/../../include/clang/AST/ASTUnresolvedSet.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/Sema/../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h:</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.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/Sema/../../include/clang/Sema/LocInfoType.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/Sema/../../include/clang/Sema/ObjCMethodList.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/Sema/../../include/clang/Sema/ScopeInfo.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.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/Sema/../../include/clang/Sema/SemaDiagnostic.h:</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc:</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/Sema/../../include/clang/AST/RecordLayout.h:</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetInfo.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/Sema/../../include/clang/Basic/TargetCXXABI.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/Sema/../../include/clang/Basic/TargetOptions.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.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/Sema/../../include/clang/Basic/Builtins.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.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/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/Sema/../../include/clang/Sema/Initialization.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/Sema/../../include/clang/Sema/Overload.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/Sema/../../include/clang/AST/DeclTemplate.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/Sema/../../include/clang/Sema/SemaFixItUtils.h:</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.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/Sema/../../include/clang/Sema/Lookup.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/Sema/../../include/clang/Sema/Scope.h:</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:08 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/SemaStmtAttr_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAttr_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAttr_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaStmtAttr_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,158 @@
+<!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: SemaStmtAttr.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_0c3cadfa2fbef89a3b8f57073e8a31f9.html">Sema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SemaStmtAttr.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaStmtAttr_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">//===--- SemaStmtAttr.cpp - Statement Attribute Handling ------------------===//</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 stmt-related attribute processing.</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="SemaInternal_8h.html">clang/Sema/SemaInternal.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="TargetAttributesSema_8h.html">TargetAttributesSema.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="ASTContext_8h.html" title="Defines the clang::ASTContext interface.">clang/AST/ASTContext.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="DelayedDiagnostic_8h.html" title="Defines the classes clang::DelayedDiagnostic and clang::AccessedEntity.">clang/Sema/DelayedDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Lookup_8h.html">clang/Sema/Lookup.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="ScopeInfo_8h.html">clang/Sema/ScopeInfo.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/StringExtras.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">using namespace </span>sema;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="SemaStmtAttr_8cpp.html#ae02bf691eff0f97f1d7da86b5da3f966">   27</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1Attr.html" title="Attr - This represents one attribute.">Attr</a> *<a class="code" href="SemaStmtAttr_8cpp.html#ae02bf691eff0f97f1d7da86b5da3f966">handleFallThroughAttr</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *St, <span class="keyword">const</span> <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> &A,</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>                                    <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range) {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keywordflow">if</span> (!isa<NullStmt>(St)) {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>     S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(A.<a class="code" href="classclang_1_1AttributeList.html#a8ac1ba0f1ee3819ffdea1a6102ddf037">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), diag::err_fallthrough_attr_wrong_target)</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>         << St-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>();</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>     <span class="keywordflow">if</span> (isa<SwitchCase>(St)) {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</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> L = <a class="code" href="classclang_1_1Lexer.html#ae504b980c4435513f71c826a90df2bee" title="Computes the source location just past the end of the token at this source location.">Lexer::getLocForEndOfToken</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), 0,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>                                   S.<a class="code" href="classclang_1_1Sema.html#aa6addac536d2911c8d411bfb1bd97fac">getSourceManager</a>(), S.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>());</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>       S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(L, diag::note_fallthrough_insert_semi_fixit)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>           << <a class="code" href="classclang_1_1FixItHint.html#afd481d826e9ddaa39fc82a698a810246" title="Create a code modification hint that inserts the given code string at a specific location.">FixItHint::CreateInsertion</a>(L, <span class="stringliteral">";"</span>);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>     }</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     <span class="keywordflow">return</span> 0;</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="keywordflow">if</span> (S.<a class="code" href="classclang_1_1Sema.html#a60473869f00fc68cd2253da60ce8b23b">getCurFunction</a>()-><a class="code" href="classclang_1_1sema_1_1FunctionScopeInfo.html#ad1d72eafe458fb9e6245e9ad4913ecb7">SwitchStack</a>.empty()) {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(A.<a class="code" href="classclang_1_1AttributeList.html#a8ac1ba0f1ee3819ffdea1a6102ddf037">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), diag::err_fallthrough_attr_outside_switch);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     <span class="keywordflow">return</span> 0;</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>   return ::new (S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1FallThroughAttr.html">FallThroughAttr</a>(A.<a class="code" href="classclang_1_1AttributeList.html#a8ac1ba0f1ee3819ffdea1a6102ddf037">getRange</a>(), S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>);</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> </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="SemaStmtAttr_8cpp.html#af12de65e5e6b9f75bb779753d1423fdd">   48</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1Attr.html" title="Attr - This represents one attribute.">Attr</a> *<a class="code" href="SemaStmtAttr_8cpp.html#af12de65e5e6b9f75bb779753d1423fdd">ProcessStmtAttribute</a>(<a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *St, <span class="keyword">const</span> <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> &A,</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>                                   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range) {</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keywordflow">switch</span> (A.<a class="code" href="classclang_1_1AttributeList.html#a4e563bd986f1003c1e51398b1f7aadd9">getKind</a>()) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1AttributeList.html#abfb7b1d3d2044394d2733eeba84cf8a2a5e8d2e994fe496b67bb2968257a7c308">AttributeList::UnknownAttribute</a>:</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(A.<a class="code" href="classclang_1_1AttributeList.html#a764e55754a52aa43b991dbbb24fa1450">getLoc</a>(), A.<a class="code" href="classclang_1_1AttributeList.html#ae69ff70890a01e295b3fd176545040ac">isDeclspecAttribute</a>() ?</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>            diag::warn_unhandled_ms_attribute_ignored :</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>            diag::warn_unknown_attribute_ignored) << A.<a class="code" href="classclang_1_1AttributeList.html#ad33e72a3989e9a61697da22d0211bf15">getName</a>();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   <span class="keywordflow">case</span> AttributeList::AT_FallThrough:</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>     <span class="keywordflow">return</span> <a class="code" href="SemaStmtAttr_8cpp.html#ae02bf691eff0f97f1d7da86b5da3f966">handleFallThroughAttr</a>(S, St, A, Range);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>     <span class="comment">// if we're here, then we parsed a known attribute, but didn't recognize</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     <span class="comment">// it as a statement attribute => it is declaration attribute</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(A.<a class="code" href="classclang_1_1AttributeList.html#a8ac1ba0f1ee3819ffdea1a6102ddf037">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), diag::err_attribute_invalid_on_stmt)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>         << A.<a class="code" href="classclang_1_1AttributeList.html#ad33e72a3989e9a61697da22d0211bf15">getName</a>() << St-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>();</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>     <span class="keywordflow">return</span> 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">   65</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"><a class="code" href="classclang_1_1Sema.html#a6b41879fe710d544b26e5addecaa5ac2">   67</a></span> <a class="code" href="classclang_1_1ActionResult.html">StmtResult</a> <a class="code" href="classclang_1_1Sema.html#a6b41879fe710d544b26e5addecaa5ac2" title="Stmt attributes - this routine is the top level dispatcher.">Sema::ProcessStmtAttributes</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *AttrList,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                                        <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range) {</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<const Attr*, 8></a> Attrs;</div>
+<div class="li