[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/SemaExprCXX_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprCXX_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprCXX_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprCXX_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,649 @@
+<!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: SemaExprCXX.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">SemaExprCXX.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaExprCXX_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/SemaExprCXX.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Sema/Release+Asserts/SemaExprCXX.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SemaExprCXX.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 \
+ TypeLocBuilder.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CXXInheritance.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/EvaluatedExprVisitor.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtVisitor.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtCXX.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtObjC.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtOpenMP.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RecursiveASTVisitor.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclFriend.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclOpenMP.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TargetOptions.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>/Preprocessor.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.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>/Lexer.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</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="l00174"></a><span class="lineno">  174</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="l00175"></a><span class="lineno">  175</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="l00176"></a><span class="lineno">  176</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="l00177"></a><span class="lineno">  177</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="l00178"></a><span class="lineno">  178</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="l00179"></a><span class="lineno">  179</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="l00180"></a><span class="lineno">  180</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="l00181"></a><span class="lineno">  181</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="l00182"></a><span class="lineno">  182</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="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h \</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Lookup.h \</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ParsedTemplate.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Scope.h \</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaLambda.h \</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTLambda.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/Sema/SemaInternal.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.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/tools/clang/lib/Sema/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.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/Casting.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/type_traits.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/DataTypes.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/None.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/APFloat.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/APInt.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/ArrayRef.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/SmallVector.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.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/include/llvm/Support/PointerLikeTypeTraits.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/PointerUnion.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.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/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.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/AST/DeclarationName.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/IdentifierTable.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/OperatorKinds.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/OperatorKinds.def:</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/TokenKinds.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/TokenKinds.def:</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/include/llvm/ADT/SmallString.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/include/llvm/ADT/StringRef.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/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.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/Diagnostic.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/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Basic/DiagnosticCommonKinds.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/Basic/DiagnosticOptions.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/Basic/DiagnosticOptions.def:</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/Basic/SourceLocation.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/include/llvm/ADT/DenseMap.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/include/llvm/ADT/DenseMapInfo.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/STLExtras.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/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="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/Specifiers.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/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.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/Type.h:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.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/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="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> /home/tstellar/llvm/tools/clang/lib/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="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/ADT/Optional.h:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/BuiltinTypes.def:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/include/llvm/Support/TimeValue.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/include/llvm/Support/system_error.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/TemplateBase.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/AST/TypeLoc.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/AST/TypeLocNodes.def:</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/AST/CanonicalType.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/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.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/AST/CommentCommandList.inc:</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/AST/PrettyPrinter.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/LangOptions.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/ObjCRuntime.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.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/ADT/Triple.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/Basic/Sanitizers.def:</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/Basic/LangOptions.def:</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/OpenCLExtensions.def:</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/RawCommentList.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/Basic/SourceManager.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/Basic/FileManager.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/FileSystemOptions.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.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/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.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/AddressSpaces.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/SmallPtrSet.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/Sema/Sema.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/AST/Attr.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/AttrKinds.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/AttrList.inc:</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/include/llvm/ADT/StringSwitch.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/Attrs.inc:</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/Expr.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/ASTVector.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/DeclAccessPair.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/AST/OperationKinds.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/CharInfo.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/TypeTraits.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/Basic/Builtins.def:</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/ExprObjC.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/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> /home/tstellar/llvm/tools/clang/lib/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="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/MangleNumberingContext.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/NSAPI.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/Basic/ExpressionTraits.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/OpenMPKinds.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/OpenMPKinds.def:</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/TemplateKinds.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Basic/Module.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/include/llvm/ADT/SetVector.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/include/llvm/ADT/SmallSet.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/Sema/AnalysisBasedWarnings.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/Sema/DeclSpec.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/Basic/Lambda.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/<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="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/AttributeList.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/Sema/Ownership.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/AttrParsedAttrList.inc:</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/ExternalSemaSource.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/TypoCorrection.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/AST/DeclCXX.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/AST/ASTUnresolvedSet.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/AST/UnresolvedSet.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/AST/ExprCXX.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/Sema/Weak.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/include/llvm/ADT/MapVector.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/IdentifierResolver.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/Sema/LocInfoType.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/Sema/ObjCMethodList.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/Sema/ScopeInfo.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/include/llvm/MC/MCParser/MCAsmParser.h:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h:</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h:</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.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/Sema/SemaDiagnostic.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/Basic/DiagnosticSemaKinds.inc:</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> TypeLocBuilder.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/AST/CXXInheritance.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/AST/TypeOrdering.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/AST/EvaluatedExprVisitor.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/AST/StmtVisitor.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/AST/StmtCXX.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/StmtObjC.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/AST/StmtOpenMP.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/AST/RecursiveASTVisitor.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/AST/DeclFriend.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/AST/DeclTemplate.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/AST/DeclOpenMP.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/Basic/TargetInfo.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/tools/clang/lib/Sema/../../include/clang/Basic/TargetCXXABI.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/tools/clang/lib/Sema/../../include/clang/Basic/TargetOptions.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/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.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/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h:</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> </div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span> /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="l00546"></a><span class="lineno">  546</span> </div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</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="l00548"></a><span class="lineno">  548</span> </div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</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="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</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="l00552"></a><span class="lineno">  552</span> </div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Initialization.h:</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> </div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Overload.h:</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaFixItUtils.h:</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TemplateDeduction.h:</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> </div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Lookup.h:</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> </div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ParsedTemplate.h:</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> </div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Scope.h:</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> </div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaLambda.h:</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTLambda.h:</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:05 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/SemaExprMember_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprMember_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprMember_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprMember_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1864 @@
+<!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: SemaExprMember.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">SemaExprMember.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaExprMember_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">//===--- SemaExprMember.cpp - Semantic Analysis for Expressions -----------===//</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 member access expressions.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#include "<a class="code" href="SemaInternal_8h.html">clang/Sema/SemaInternal.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="ASTLambda_8h.html" title="This file provides some common utility functions for processing Lambda related AST Constructs...">clang/AST/ASTLambda.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="DeclCXX_8h.html" title="Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate.h) and friends (in DeclFriend.h).">clang/AST/DeclCXX.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="DeclObjC_8h.html">clang/AST/DeclObjC.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="DeclTemplate_8h.html" title="Defines the C++ template declaration subclasses.">clang/AST/DeclTemplate.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="ExprCXX_8h.html" title="Defines the clang::Expr interface and subclasses for C++ expressions.">clang/AST/ExprCXX.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="ExprObjC_8h.html">clang/AST/ExprObjC.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Lookup_8h.html">clang/Sema/Lookup.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="Scope_8h.html">clang/Sema/Scope.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="ScopeInfo_8h.html">clang/Sema/ScopeInfo.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">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> </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a80b723a5b1d40a10af1541b3e771f5c0">   28</a></span> <span class="keyword">typedef</span> llvm::SmallPtrSet<const CXXRecordDecl*, 4> <a class="code" href="SemaExprMember_8cpp.html#a80b723a5b1d40a10af1541b3e771f5c0">BaseSet</a>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#aa385a2573edfaa3406c2071778e1d920">   29</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaExprMember_8cpp.html#aa385a2573edfaa3406c2071778e1d920">BaseIsNotInSet</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *<a class="code" href="classclang_1_1Base.html">Base</a>, <span class="keywordtype">void</span> *BasesPtr) {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">const</span> <a class="code" href="SemaExprMember_8cpp.html#a80b723a5b1d40a10af1541b3e771f5c0">BaseSet</a> &Bases = *<span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="SemaExprMember_8cpp.html#a80b723a5b1d40a10af1541b3e771f5c0">BaseSet</a>*<span class="keyword">></span>(BasesPtr);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   <span class="keywordflow">return</span> !Bases.count(Base-><a class="code" href="classclang_1_1CXXRecordDecl.html#a38f531b4822da3071fe56cc210978afd" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>());</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> }</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment"></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// Determines if the given class is provably not derived from all of</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// the prospective base classes.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a55818cd81b03146861082fcd3a6ca6eb">   36</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaExprMember_8cpp.html#a55818cd81b03146861082fcd3a6ca6eb">isProvablyNotDerivedFrom</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="SemaOverload_8cpp.html#a2143ac7d927afc9feb28c9270c7ed86d">SemaRef</a>, <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *Record,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>                                      <span class="keyword">const</span> <a class="code" href="SemaExprMember_8cpp.html#a80b723a5b1d40a10af1541b3e771f5c0">BaseSet</a> &Bases) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keywordtype">void</span> *BasesPtr = <span class="keyword">const_cast<</span><span class="keywordtype">void</span>*<span class="keyword">></span>(<span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">void</span>*<span class="keyword">></span>(&Bases));</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keywordflow">return</span> <a class="code" href="SemaExprMember_8cpp.html#aa385a2573edfaa3406c2071778e1d920">BaseIsNotInSet</a>(Record, BasesPtr) &&</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>          Record-><a class="code" href="classclang_1_1CXXRecordDecl.html#acd5fb7de4853357c1fd9a9450f44ce60" title="Determines if the given callback holds for all the direct or indirect base classes of this type...">forallBases</a>(<a class="code" href="SemaExprMember_8cpp.html#aa385a2573edfaa3406c2071778e1d920">BaseIsNotInSet</a>, BasesPtr);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275">   43</a></span> <span class="keyword">enum</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275">IMAKind</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">  /// The reference is definitely not an instance member access.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afdade32c254d8703799bbd5a502e701d">   45</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afdade32c254d8703799bbd5a502e701d" title="The reference is definitely not an instance member access.">IMA_Static</a>,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment"></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">  /// The reference may be an implicit instance member access.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a14fd51cd671639e35a46ffcc17c106b9">   48</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a14fd51cd671639e35a46ffcc17c106b9" title="The reference may be an implicit instance member access.">IMA_Mixed</a>,</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">  /// The reference may be to an instance member, but it might be invalid if</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">  /// so, because the context is not an instance method.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a51ff90cf1c0e9febfe7dd4b3489ca66f">   52</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a51ff90cf1c0e9febfe7dd4b3489ca66f">IMA_Mixed_StaticContext</a>,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// The reference may be to an instance member, but it is invalid if</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">  /// so, because the context is from an unrelated class.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a093bfc7beca54ff0d9067bd14398f4a5">   56</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a093bfc7beca54ff0d9067bd14398f4a5">IMA_Mixed_Unrelated</a>,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment"></span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">  /// The reference is definitely an implicit instance member access.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275ab9666b0abdd58304a208a3dec1404150">   59</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275ab9666b0abdd58304a208a3dec1404150" title="The reference is definitely an implicit instance member access.">IMA_Instance</a>,</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">  /// The reference may be to an unresolved using declaration.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4821c20e10eea6746b27da7eebebfc7e">   62</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4821c20e10eea6746b27da7eebebfc7e" title="The reference may be to an unresolved using declaration.">IMA_Unresolved</a>,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment"></span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">  /// The reference is a contextually-permitted abstract member reference.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a59067e7e469eb4ae66d20a88999f536f">   65</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a59067e7e469eb4ae66d20a88999f536f" title="The reference is a contextually-permitted abstract member reference.">IMA_Abstract</a>,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment"></span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment">  /// The reference may be to an unresolved using declaration and the</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">  /// context is not an instance method.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a2e2713258d79f8b250f893af96a547ce">   69</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a2e2713258d79f8b250f893af96a547ce">IMA_Unresolved_StaticContext</a>,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   <span class="comment">// The reference refers to a field which is not a member of the containing</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   <span class="comment">// class, which is allowed because we're in C++11 mode and the context is</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   <span class="comment">// unevaluated.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afb2502298f724253f166400a41c4bbdc">   74</a></span>   <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afb2502298f724253f166400a41c4bbdc">IMA_Field_Uneval_Context</a>,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="comment"></span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment">  /// All possible referrents are instance members and the current</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment">  /// context is not an instance method.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4f80956da69f2357b2b1fa2d2bb1f1ac">   78</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4f80956da69f2357b2b1fa2d2bb1f1ac">IMA_Error_StaticContext</a>,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> <span class="comment"></span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment">  /// All possible referrents are instance members of an unrelated</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment">  /// class.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a25980d510d137f363909bb0d53e63776">   82</a></span> <span class="comment"></span>  <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a25980d510d137f363909bb0d53e63776">IMA_Error_Unrelated</a></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> };</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment"></span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">/// The given lookup names class member(s) and is not being used for</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">/// an address-of-member expression.  Classify the type of access</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">/// according to whether it's possible that this reference names an</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">/// instance member.  This is best-effort in dependent contexts; it is okay to</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">/// conservatively answer "yes", in which case some errors will simply</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment">/// not be caught until template-instantiation.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a358f2d50728cb74a24abe4a21f153d70">   91</a></span> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275">IMAKind</a> <a class="code" href="SemaExprMember_8cpp.html#a358f2d50728cb74a24abe4a21f153d70">ClassifyImplicitMemberAccess</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="SemaOverload_8cpp.html#a2143ac7d927afc9feb28c9270c7ed86d">SemaRef</a>,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                                             <a class="code" href="classclang_1_1Scope.html">Scope</a> *CurScope,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R) {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   assert(!R.<a class="code" href="classclang_1_1LookupResult.html#a9f44c1cd9d9c7e84dd0202538dd72cd7" title="Return true if no decls were found.">empty</a>() && (*R.<a class="code" href="classclang_1_1LookupResult.html#a460debe22c59694c326b3c4671726889">begin</a>())->isCXXClassMember());</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>   <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *DC = SemaRef.<a class="code" href="classclang_1_1Sema.html#a5546b66bc07d9bdaea4a5f47734ba1d9">getFunctionLevelDeclContext</a>();</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="keywordtype">bool</span> isStaticContext = SemaRef.<a class="code" href="classclang_1_1Sema.html#a9f15684dd78ee243699371b7a1f120ca" title="When non-NULL, the C++ 'this' expression is allowed despite the current context not being a non-stati...">CXXThisTypeOverride</a>.<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="l00099"></a><span class="lineno">   99</span>     (!isa<CXXMethodDecl>(DC) || cast<CXXMethodDecl>(DC)->isStatic());</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   <span class="keywordflow">if</span> (R.<a class="code" href="classclang_1_1LookupResult.html#a6326b8d5d3a53f7a8b867c0551ada679">isUnresolvableResult</a>())</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>     <span class="keywordflow">return</span> isStaticContext ? <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a2e2713258d79f8b250f893af96a547ce">IMA_Unresolved_StaticContext</a> : <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4821c20e10eea6746b27da7eebebfc7e" title="The reference may be to an unresolved using declaration.">IMA_Unresolved</a>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="comment">// Collect all the declaring classes of instance members we find.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="keywordtype">bool</span> hasNonInstance = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="keywordtype">bool</span> isField = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   <a class="code" href="SemaExprMember_8cpp.html#a80b723a5b1d40a10af1541b3e771f5c0">BaseSet</a> Classes;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1UnresolvedSetIterator.html">LookupResult::iterator</a> I = R.<a class="code" href="classclang_1_1LookupResult.html#a460debe22c59694c326b3c4671726889">begin</a>(), E = R.<a class="code" href="classclang_1_1LookupResult.html#ae1db847b7820acee0a0371510ccdf1c9">end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *D = *I;</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">if</span> (D-><a class="code" href="classclang_1_1NamedDecl.html#a614520a704fb5219e51ec678fa66103d" title="Determine whether the given declaration is an instance member of a C++ class.">isCXXInstanceMember</a>()) {</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>       <span class="keywordflow">if</span> (dyn_cast<FieldDecl>(D) || dyn_cast<<a class="code" href="classclang_1_1MSPropertyDecl.html">MSPropertyDecl</a>>(D)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>           || dyn_cast<IndirectFieldDecl>(D))</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>         isField = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *R = cast<CXXRecordDecl>(D-><a class="code" href="classclang_1_1Decl.html#af67e1a1d24dcc51093b95dbcf68d4288">getDeclContext</a>());</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>       Classes.insert(R-><a class="code" href="classclang_1_1CXXRecordDecl.html#a38f531b4822da3071fe56cc210978afd" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</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">else</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>       hasNonInstance = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   }</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="comment">// If we didn't find any instance members, it can't be an implicit</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   <span class="comment">// member reference.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   <span class="keywordflow">if</span> (Classes.empty())</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     <span class="keywordflow">return</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afdade32c254d8703799bbd5a502e701d" title="The reference is definitely not an instance member access.">IMA_Static</a>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="comment">// C++11 [expr.prim.general]p12:</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   <span class="comment">//   An id-expression that denotes a non-static data member or non-static</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   <span class="comment">//   member function of a class can only be used:</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="comment">//   (...)</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   <span class="comment">//   - if that id-expression denotes a non-static data member and it</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="comment">//     appears in an unevaluated operand.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>   <span class="comment">// This rule is specific to C++11.  However, we also permit this form</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   <span class="comment">// in unevaluated inline assembly operands, like the operand to a SIZE.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275">IMAKind</a> AbstractInstanceResult = <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afdade32c254d8703799bbd5a502e701d" title="The reference is definitely not an instance member access.">IMA_Static</a>; <span class="comment">// happens to be 'false'</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   assert(!AbstractInstanceResult);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <span class="keywordflow">switch</span> (SemaRef.<a class="code" href="classclang_1_1Sema.html#acadb2dedd135bfa6edc61bf51d8dae1d" title="A stack of expression evaluation contexts.">ExprEvalContexts</a>.back().Context) {</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Sema.html#ac105cb9d8d4ad3e532351c498f6082b5ae4e2b142c5314222a59195d1612a1904" title="The current expression and its subexpressions occur within an unevaluated operand (C++11 [expr]p7)...">Sema::Unevaluated</a>:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     <span class="keywordflow">if</span> (isField && SemaRef.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().CPlusPlus11)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>       AbstractInstanceResult = <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afb2502298f724253f166400a41c4bbdc">IMA_Field_Uneval_Context</a>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>     <span class="keywordflow">break</span>;</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">case</span> <a class="code" href="classclang_1_1Sema.html#ac105cb9d8d4ad3e532351c498f6082b5acd1e66e4527e0788da5ec8d8e85c2c8f" title="The current expression occurs within an unevaluated operand that unconditionally permits abstract ref...">Sema::UnevaluatedAbstract</a>:</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     AbstractInstanceResult = <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a59067e7e469eb4ae66d20a88999f536f" title="The reference is a contextually-permitted abstract member reference.">IMA_Abstract</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Sema.html#ac105cb9d8d4ad3e532351c498f6082b5a1c462d0aa3eb9afe577f944b62b22c94" title="The current context is "potentially evaluated" in C++11 terms, but the expression is evaluated at com...">Sema::ConstantEvaluated</a>:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Sema.html#ac105cb9d8d4ad3e532351c498f6082b5a95024daaf0c7fed326d8d8c6a36714ab" title="The current expression is potentially evaluated at run time, which means that code may be generated t...">Sema::PotentiallyEvaluated</a>:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Sema.html#ac105cb9d8d4ad3e532351c498f6082b5aede34185e1eec969397a642e464daaea" title="The current expression is potentially evaluated, but any declarations referenced inside that expressi...">Sema::PotentiallyEvaluatedIfUsed</a>:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     <span class="keywordflow">break</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> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   <span class="comment">// If the current context is not an instance method, it can't be</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   <span class="comment">// an implicit member reference.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   <span class="keywordflow">if</span> (isStaticContext) {</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     <span class="keywordflow">if</span> (hasNonInstance)</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>       <span class="keywordflow">return</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a51ff90cf1c0e9febfe7dd4b3489ca66f">IMA_Mixed_StaticContext</a>;</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="keywordflow">return</span> AbstractInstanceResult ? AbstractInstanceResult</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>                                   : <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4f80956da69f2357b2b1fa2d2bb1f1ac">IMA_Error_StaticContext</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>   <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *contextClass;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = dyn_cast<CXXMethodDecl>(DC))</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     contextClass = MD-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>()->getCanonicalDecl();</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     contextClass = cast<CXXRecordDecl>(DC);</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   <span class="comment">// [class.mfct.non-static]p3: </span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   <span class="comment">// ...is used in the body of a non-static member function of class X,</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <span class="comment">// if name lookup (3.4.1) resolves the name in the id-expression to a</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   <span class="comment">// non-static non-type member of some class C [...]</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   <span class="comment">// ...if C is not X or a base class of X, the class member access expression</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <span class="comment">// is ill-formed.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <span class="keywordflow">if</span> (R.<a class="code" href="classclang_1_1LookupResult.html#ab51162686ebbe4bc11ec76ebf4d56129" title="Returns the 'naming class' for this lookup, i.e. the class which was looked into to find these result...">getNamingClass</a>() &&</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       contextClass-><a class="code" href="classclang_1_1CXXRecordDecl.html#a38f531b4822da3071fe56cc210978afd" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>() !=</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>         R.<a class="code" href="classclang_1_1LookupResult.html#ab51162686ebbe4bc11ec76ebf4d56129" title="Returns the 'naming class' for this lookup, i.e. the class which was looked into to find these result...">getNamingClass</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#a38f531b4822da3071fe56cc210978afd" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>()) {</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>     <span class="comment">// If the naming class is not the current context, this was a qualified</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     <span class="comment">// member name lookup, and it's sufficient to check that we have the naming</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <span class="comment">// class as a base class.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     Classes.clear();</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>     Classes.insert(R.<a class="code" href="classclang_1_1LookupResult.html#ab51162686ebbe4bc11ec76ebf4d56129" title="Returns the 'naming class' for this lookup, i.e. the class which was looked into to find these result...">getNamingClass</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#a38f531b4822da3071fe56cc210978afd" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>());</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> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <span class="comment">// If we can prove that the current context is unrelated to all the</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="comment">// declaring classes, it can't be an implicit member reference (in</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <span class="comment">// which case it's an error if any of those members are selected).</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   <span class="keywordflow">if</span> (<a class="code" href="SemaExprMember_8cpp.html#a55818cd81b03146861082fcd3a6ca6eb">isProvablyNotDerivedFrom</a>(SemaRef, contextClass, Classes))</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     <span class="keywordflow">return</span> hasNonInstance ? <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a093bfc7beca54ff0d9067bd14398f4a5">IMA_Mixed_Unrelated</a> :</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>            AbstractInstanceResult ? AbstractInstanceResult :</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>                                     <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a25980d510d137f363909bb0d53e63776">IMA_Error_Unrelated</a>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <span class="keywordflow">return</span> (hasNonInstance ? <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a14fd51cd671639e35a46ffcc17c106b9" title="The reference may be an implicit instance member access.">IMA_Mixed</a> : <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275ab9666b0abdd58304a208a3dec1404150" title="The reference is definitely an implicit instance member access.">IMA_Instance</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> <span class="comment"></span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment">/// Diagnose a reference to a field with no object available.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a5832294f531f72b5ca5f5ad290a7b00c">  199</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SemaExprMember_8cpp.html#a5832294f531f72b5ca5f5ad290a7b00c" title="Diagnose a reference to a field with no object available.">diagnoseInstanceReference</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="SemaOverload_8cpp.html#a2143ac7d927afc9feb28c9270c7ed86d">SemaRef</a>,</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>                                       <span class="keyword">const</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="l00201"></a><span class="lineno">  201</span>                                       <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *Rep,</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>                                       <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &nameInfo) {</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = nameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a47f8f8d3dab3d4ae666ac99f15b58b02" title="getLoc - Returns the main location of the declaration name.">getLoc</a>();</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range(Loc);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   <span class="keywordflow">if</span> (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>()) Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>());</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>   <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *FunctionLevelDC = SemaRef.<a class="code" href="classclang_1_1Sema.html#a5546b66bc07d9bdaea4a5f47734ba1d9">getFunctionLevelDeclContext</a>();</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *Method = dyn_cast<<a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a>>(FunctionLevelDC);</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *ContextClass = Method ? Method-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>() : 0;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RepClass = dyn_cast<<a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a>>(Rep-><a class="code" href="classclang_1_1Decl.html#af67e1a1d24dcc51093b95dbcf68d4288">getDeclContext</a>());</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="keywordtype">bool</span> InStaticMethod = Method && Method-><a class="code" href="classclang_1_1CXXMethodDecl.html#acd2543d24d5f7ef0aecc1aff36eeab4a">isStatic</a>();</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="keywordtype">bool</span> IsField = isa<FieldDecl>(Rep) || isa<IndirectFieldDecl>(Rep);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <span class="keywordflow">if</span> (IsField && InStaticMethod)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>     <span class="comment">// "invalid use of member 'x' in static member function"</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(Loc, diag::err_invalid_member_use_in_static_method)</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>         << Range << nameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>();</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ContextClass && RepClass && SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae92a40568ee6a10431af2437af862b07" title="No scope specifier.">isEmpty</a>() && !InStaticMethod &&</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>            !RepClass-><a class="code" href="classclang_1_1DeclContext.html#ab26c189165e15c46df7e4c734da0b0b8" title="Determine whether this declaration context is equivalent to the declaration context DC...">Equals</a>(ContextClass) && RepClass-><a class="code" href="classclang_1_1DeclContext.html#ac573b7eaf4f3177d1378df80e557160d" title="Determine whether this declaration context encloses the declaration context DC.">Encloses</a>(ContextClass))</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     <span class="comment">// Unqualified lookup in a non-static member function found a member of an</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>     <span class="comment">// enclosing class.</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(Loc, diag::err_nested_non_static_member_use)</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>       << IsField << RepClass << nameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>() << ContextClass << Range;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (IsField)</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>     SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(Loc, diag::err_invalid_non_static_member_use)</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>       << nameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>() << Range;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(Loc, diag::err_member_call_without_object)</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>       << Range;</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="comment"></span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment">/// Builds an expression which might be an implicit member expression.</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a51a794f7f2a96eb7bec65bdffdca6a51">  235</a></span> <a class="code" href="classclang_1_1Sema.html#a51a794f7f2a96eb7bec65bdffdca6a51" title="Builds an expression which might be an implicit member expression.">Sema::BuildPossibleImplicitMemberExpr</a>(<span class="keyword">const</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="l00236"></a><span class="lineno">  236</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="l00237"></a><span class="lineno">  237</span>                                       <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R,</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   <span class="keywordflow">switch</span> (<a class="code" href="SemaExprMember_8cpp.html#a358f2d50728cb74a24abe4a21f153d70">ClassifyImplicitMemberAccess</a>(*<span class="keyword">this</span>, CurScope, R)) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275ab9666b0abdd58304a208a3dec1404150" title="The reference is definitely an implicit instance member access.">IMA_Instance</a>:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>     <span class="keywordflow">return</span> BuildImplicitMemberExpr(SS, TemplateKWLoc, R, TemplateArgs, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a14fd51cd671639e35a46ffcc17c106b9" title="The reference may be an implicit instance member access.">IMA_Mixed</a>:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a093bfc7beca54ff0d9067bd14398f4a5">IMA_Mixed_Unrelated</a>:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4821c20e10eea6746b27da7eebebfc7e" title="The reference may be to an unresolved using declaration.">IMA_Unresolved</a>:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="keywordflow">return</span> BuildImplicitMemberExpr(SS, TemplateKWLoc, R, TemplateArgs, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afb2502298f724253f166400a41c4bbdc">IMA_Field_Uneval_Context</a>:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>(), diag::warn_cxx98_compat_non_static_member_use)</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>       << R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>().<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>();</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="comment">// Fall through.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275afdade32c254d8703799bbd5a502e701d" title="The reference is definitely not an instance member access.">IMA_Static</a>:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a59067e7e469eb4ae66d20a88999f536f" title="The reference is a contextually-permitted abstract member reference.">IMA_Abstract</a>:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a51ff90cf1c0e9febfe7dd4b3489ca66f">IMA_Mixed_StaticContext</a>:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a2e2713258d79f8b250f893af96a547ce">IMA_Unresolved_StaticContext</a>:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keywordflow">if</span> (TemplateArgs || TemplateKWLoc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>())</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>       <span class="keywordflow">return</span> BuildTemplateIdExpr(SS, TemplateKWLoc, R, <span class="keyword">false</span>, TemplateArgs);</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">return</span> BuildDeclarationNameExpr(SS, R, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a4f80956da69f2357b2b1fa2d2bb1f1ac">IMA_Error_StaticContext</a>:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   <span class="keywordflow">case</span> <a class="code" href="SemaExprMember_8cpp.html#a3367a81248c11fdefa287939b714a275a25980d510d137f363909bb0d53e63776">IMA_Error_Unrelated</a>:</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <a class="code" href="SemaExprMember_8cpp.html#a5832294f531f72b5ca5f5ad290a7b00c" title="Diagnose a reference to a field with no object available.">diagnoseInstanceReference</a>(*<span class="keyword">this</span>, SS, R.<a class="code" href="classclang_1_1LookupResult.html#a67d43ac1334ede6ef1fd8fa13d885c74" title="Fetches a representative decl. Useful for lazy diagnostics.">getRepresentativeDecl</a>(),</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>                               R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>());</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</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> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>   llvm_unreachable(<span class="stringliteral">"unexpected instance member access kind"</span>);</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> }</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> <span class="comment"></span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> <span class="comment">/// Check an ext-vector component access expression.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> <span class="comment">/// VK should be set in advance to the value kind of the base</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment">/// expression.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="classclang_1_1QualType.html">QualType</a></div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a6f244fc31207d9571bb34181894efa74">  275</a></span> <a class="code" href="SemaExprMember_8cpp.html#a6f244fc31207d9571bb34181894efa74">CheckExtVectorComponent</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> baseType, <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> &VK,</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</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, <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *CompName,</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</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> CompLoc) {</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   <span class="comment">// FIXME: Share logic with ExtVectorElementExpr::containsDuplicateElements,</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>   <span class="comment">// see FIXME there.</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>   <span class="comment">// FIXME: This logic can be greatly simplified by splitting it along</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>   <span class="comment">// halving/not halving and reworking the component checking.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ExtVectorType.html">ExtVectorType</a> *vecType = baseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ExtVectorType.html">ExtVectorType</a>>();</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>   <span class="comment">// The vector accessor can't exceed the number of elements.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *compStr = CompName-><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="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>   <span class="comment">// This flag determines whether or not the component is one of the four</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>   <span class="comment">// special names that indicate a subset of exactly half the elements are</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>   <span class="comment">// to be selected.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>   <span class="keywordtype">bool</span> HalvingSwizzle = <span class="keyword">false</span>;</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>   <span class="comment">// This flag determines whether or not CompName has an 's' char prefix,</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>   <span class="comment">// indicating that it is a string of hex values to be used as vector indices.</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   <span class="keywordtype">bool</span> HexSwizzle = *compStr == <span class="charliteral">'s'</span> || *compStr == <span class="charliteral">'S'</span>;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   <span class="keywordtype">bool</span> HasRepeated = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   <span class="keywordtype">bool</span> HasIndex[16] = {};</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   <span class="keywordtype">int</span> Idx;</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   <span class="comment">// Check that we've found one of the special components, or that the component</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>   <span class="comment">// names must come from the same set.</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>   <span class="keywordflow">if</span> (!strcmp(compStr, <span class="stringliteral">"hi"</span>) || !strcmp(compStr, <span class="stringliteral">"lo"</span>) ||</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>       !strcmp(compStr, <span class="stringliteral">"even"</span>) || !strcmp(compStr, <span class="stringliteral">"odd"</span>)) {</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>     HalvingSwizzle = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!HexSwizzle &&</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>              (Idx = vecType-><a class="code" href="classclang_1_1ExtVectorType.html#aa50a9a6c1b3f203dd246708edcdc64ed">getPointAccessorIdx</a>(*compStr)) != -1) {</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>     <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>       <span class="keywordflow">if</span> (HasIndex[Idx]) HasRepeated = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>       HasIndex[Idx] = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>       compStr++;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     } <span class="keywordflow">while</span> (*compStr && (Idx = vecType-><a class="code" href="classclang_1_1ExtVectorType.html#aa50a9a6c1b3f203dd246708edcdc64ed">getPointAccessorIdx</a>(*compStr)) != -1);</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     <span class="keywordflow">if</span> (HexSwizzle) compStr++;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>     <span class="keywordflow">while</span> ((Idx = vecType-><a class="code" href="classclang_1_1ExtVectorType.html#a9020d7f27393e19d08504297d2d1cd07">getNumericAccessorIdx</a>(*compStr)) != -1) {</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>       <span class="keywordflow">if</span> (HasIndex[Idx]) HasRepeated = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>       HasIndex[Idx] = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>       compStr++;</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>   }</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="keywordflow">if</span> (!HalvingSwizzle && *compStr) {</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>     <span class="comment">// We didn't get to the end of the string. This means the component names</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>     <span class="comment">// didn't come from the same set *or* we encountered an illegal name.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>     S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(OpLoc, diag::err_ext_vector_component_name_illegal)</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>       << StringRef(compStr, 1) << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(CompLoc);</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1QualType.html">QualType</a>();</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> </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <span class="comment">// Ensure no component accessor exceeds the width of the vector type it</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="comment">// operates on.</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="keywordflow">if</span> (!HalvingSwizzle) {</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>     compStr = CompName-><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="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>     <span class="keywordflow">if</span> (HexSwizzle)</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>       compStr++;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>     <span class="keywordflow">while</span> (*compStr) {</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>       <span class="keywordflow">if</span> (!vecType-><a class="code" href="classclang_1_1ExtVectorType.html#a1f88ac98a9e2aac37a1ae53f8eb3fc53">isAccessorWithinNumElements</a>(*compStr++)) {</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>         S.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(OpLoc, diag::err_ext_vector_component_exceeds_length)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>           << baseType << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(CompLoc);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1QualType.html">QualType</a>();</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>       }</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     }</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   }</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="comment">// The component accessor looks fine - now we need to compute the actual type.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   <span class="comment">// The vector type is implied by the component accessor. For example,</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   <span class="comment">// vec4.b is a float, vec4.xy is a vec2, vec4.rgb is a vec3, etc.</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   <span class="comment">// vec4.s0 is a float, vec4.s23 is a vec3, etc.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>   <span class="comment">// vec4.hi, vec4.lo, vec4.e, and vec4.o all return vec2.</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   <span class="keywordtype">unsigned</span> CompSize = HalvingSwizzle ? (vecType-><a class="code" href="classclang_1_1VectorType.html#adfa7e090380e24449722cc934b2a71b1">getNumElements</a>() + 1) / 2</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>                                      : CompName-><a class="code" href="classclang_1_1IdentifierInfo.html#a72b08bd4bebd4f8f6c6aeaaa3769fcd2" title="Efficiently return the length of this identifier info.">getLength</a>();</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   <span class="keywordflow">if</span> (HexSwizzle)</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>     CompSize--;</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>   <span class="keywordflow">if</span> (CompSize == 1)</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     <span class="keywordflow">return</span> vecType-><a class="code" href="classclang_1_1VectorType.html#aa82693de604f63a6366f39372252ab42">getElementType</a>();</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>   <span class="keywordflow">if</span> (HasRepeated) VK = <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>;</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> VT = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a083cfef8b192871196e505a9295a77ad" title="Return the unique reference to an extended vector type of the specified element type and size...">getExtVectorType</a>(vecType-><a class="code" href="classclang_1_1VectorType.html#aa82693de604f63a6366f39372252ab42">getElementType</a>(), CompSize);</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>   <span class="comment">// Now look up the TypeDefDecl from the vector type. Without this,</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>   <span class="comment">// diagostics look bad. We want extended vector types to appear built-in.</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1LazyVector.html#a67171474c4da6cc8efe0c7fafefd2b2d">Sema::ExtVectorDeclsType::iterator</a> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>          I = S.<a class="code" href="classclang_1_1Sema.html#a2c86bcade973975c740a783b831362d9">ExtVectorDecls</a>.<a class="code" href="classclang_1_1LazyVector.html#aece837b4cb6ebe8f1e2d25c502a60a7e">begin</a>(S.<a class="code" href="classclang_1_1Sema.html#a1b4820fc2e542e2a8ac45958c0edbdc8">getExternalSource</a>()),</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>          E = S.<a class="code" href="classclang_1_1Sema.html#a2c86bcade973975c740a783b831362d9">ExtVectorDecls</a>.<a class="code" href="classclang_1_1LazyVector.html#a9ec68a985ebe7f74314f824bfe5bb07b">end</a>(); </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>     <span class="keywordflow">if</span> ((*I)->getUnderlyingType() == VT)</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>       <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3b01e9bb794ab9bc18a7578bc18a0611" title="Return the unique reference to the type for the specified typedef-name decl.">getTypedefType</a>(*I);</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>   </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>   <span class="keywordflow">return</span> VT; <span class="comment">// should never get here (a typedef type should always be found).</span></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> </div>
+<div class="line"><a name="l00377"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a4584cb2a8e838551220ab4ff596e63b1">  377</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="SemaExprMember_8cpp.html#a4584cb2a8e838551220ab4ff596e63b1">FindGetterSetterNameDeclFromProtocolList</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCProtocolDecl.html" title="Represents an Objective-C protocol declaration.">ObjCProtocolDecl</a>*PDecl,</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>                                                 <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Member,</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>                                                 <span class="keyword">const</span> <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="l00380"></a><span class="lineno">  380</span>                                                 <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="keywordflow">if</span> (Member)</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</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> *PD = PDecl-><a class="code" href="classclang_1_1ObjCContainerDecl.html#af9e27df54a37f3414e0896d56a8c0b1f">FindPropertyDeclaration</a>(Member))</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>       <span class="keywordflow">return</span> PD;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *OMD = PDecl-><a class="code" href="classclang_1_1ObjCContainerDecl.html#ad21a2708e21290c6e337bd26ce364ca5">getInstanceMethod</a>(Sel))</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>     <span class="keywordflow">return</span> OMD;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ObjCProtocolDecl.html#adbd4b44a478f573a24072123f93b2fe9">ObjCProtocolDecl::protocol_iterator</a> I = PDecl-><a class="code" href="classclang_1_1ObjCProtocolDecl.html#a199069b3da6c86cd72a6b8fe9f8feec0">protocol_begin</a>(),</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>        E = PDecl-><a class="code" href="classclang_1_1ObjCProtocolDecl.html#a681da3dbfa474479f44d59eee31d0e1e">protocol_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Decl.html">Decl</a> *D = <a class="code" href="SemaExprMember_8cpp.html#a4584cb2a8e838551220ab4ff596e63b1">FindGetterSetterNameDeclFromProtocolList</a>(*I, Member, Sel,</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>                                                            Context))</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>       <span class="keywordflow">return</span> D;</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> 0;</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> </div>
+<div class="line"><a name="l00396"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#ae58304bf1184fda4a21d9cdf42767f8b">  396</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="SemaExprMember_8cpp.html#ae58304bf1184fda4a21d9cdf42767f8b">FindGetterSetterNameDecl</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *QIdTy,</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>                                       <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Member,</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>                                       <span class="keyword">const</span> <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="l00399"></a><span class="lineno">  399</span>                                       <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>   <span class="comment">// Check protocols on qualified interfaces.</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <a class="code" href="classclang_1_1Decl.html">Decl</a> *GDecl = 0;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ObjCObjectPointerType.html#afeb75de5b6636a136ce0cd53983f20d0">ObjCObjectPointerType::qual_iterator</a> I = QIdTy-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#a992814f43723b09bf92d515e9b879704">qual_begin</a>(),</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>        E = QIdTy-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#aa5f897ef948db07e84c1a18bf7e159b8">qual_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     <span class="keywordflow">if</span> (Member)</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</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> *PD = (*I)->FindPropertyDeclaration(Member)) {</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>         GDecl = PD;</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>         <span class="keywordflow">break</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">// Also must look for a getter or setter name which uses property syntax.</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *OMD = (*I)->getInstanceMethod(Sel)) {</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>       GDecl = OMD;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>       <span class="keywordflow">break</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>   }</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   <span class="keywordflow">if</span> (!GDecl) {</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>     <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ObjCObjectPointerType.html#afeb75de5b6636a136ce0cd53983f20d0">ObjCObjectPointerType::qual_iterator</a> I = QIdTy-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#a992814f43723b09bf92d515e9b879704">qual_begin</a>(),</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>          E = QIdTy-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#aa5f897ef948db07e84c1a18bf7e159b8">qual_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>       <span class="comment">// Search in the protocol-qualifier list of current protocol.</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>       GDecl = <a class="code" href="SemaExprMember_8cpp.html#a4584cb2a8e838551220ab4ff596e63b1">FindGetterSetterNameDeclFromProtocolList</a>(*I, Member, Sel, </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>                                                        Context);</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       <span class="keywordflow">if</span> (GDecl)</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>         <span class="keywordflow">return</span> GDecl;</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>   }</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   <span class="keywordflow">return</span> GDecl;</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> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#aa550bb53302a2907da4697324ed50207">  429</a></span> <a class="code" href="classclang_1_1Sema.html#aa550bb53302a2907da4697324ed50207">Sema::ActOnDependentMemberExpr</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExpr, <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType,</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>                                <span class="keywordtype">bool</span> IsArrow, <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="l00431"></a><span class="lineno">  431</span>                                <span class="keyword">const</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="l00432"></a><span class="lineno">  432</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="l00433"></a><span class="lineno">  433</span>                                <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *FirstQualifierInScope,</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>                                <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &NameInfo,</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs) {</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   <span class="comment">// Even in dependent contexts, try to diagnose base expressions with</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="comment">// obviously wrong types, e.g.:</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   <span class="comment">// T* t;</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   <span class="comment">// t.f;</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <span class="comment">// In Obj-C++, however, the above expression is valid, since it could be</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   <span class="comment">// accessing the 'f' property if T is an Obj-C interface. The extra check</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   <span class="comment">// allows this, while still reporting an error if T is a struct pointer.</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <span class="keywordflow">if</span> (!IsArrow) {</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PT = BaseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>();</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>     <span class="keywordflow">if</span> (PT && (!getLangOpts().ObjC1 ||</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>                PT-><a class="code" href="classclang_1_1PointerType.html#a3d0af079431148f7da7e2c400052cc66">getPointeeType</a>()-><a class="code" href="classclang_1_1Type.html#a6525adb10d549a7ee372424dcdb6b9bd">isRecordType</a>())) {</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>       assert(BaseExpr && <span class="stringliteral">"cannot happen with implicit member accesses"</span>);</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(OpLoc, diag::err_typecheck_member_reference_struct_union)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>         << BaseType << BaseExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>() << NameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#aac2e34fac4c9a3d437d475acd703ab9a" title="getSourceRange - The range of the declaration name.">getSourceRange</a>();</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     }</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>   }</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>   assert(BaseType-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>() ||</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>          NameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>().<a class="code" href="classclang_1_1DeclarationName.html#af67a8f446f13b46fb722e936681a77eb" title="Determines whether the name itself is dependent, e.g., because it involves a C++ type that is itself ...">isDependentName</a>() ||</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>          isDependentScopeSpecifier(SS));</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>   <span class="comment">// Get the type being accessed in BaseType.  If this is an arrow, the BaseExpr</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   <span class="comment">// must have pointer type, and the accessed type is the pointee.</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   <span class="keywordflow">return</span> Owned(<a class="code" href="classclang_1_1CXXDependentScopeMemberExpr.html#a36563b8eec865455570eb3a6a14da998">CXXDependentScopeMemberExpr::Create</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, BaseExpr, BaseType,</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>                                                    IsArrow, OpLoc,</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>                                                SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a39276dfded0dab7f252f05c9f643996f" title="Retrieve a nested-name-specifier with location information, copied into the given AST context...">getWithLocInContext</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>),</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>                                                    TemplateKWLoc,</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>                                                    FirstQualifierInScope,</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>                                                    NameInfo, TemplateArgs));</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"></span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> <span class="comment">/// We know that the given qualified member reference points only to</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> <span class="comment">/// declarations which do not belong to the static type of the base</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> <span class="comment">/// expression.  Diagnose the problem.</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a99b64058386c930cd551d9296baf8111">  473</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SemaExprMember_8cpp.html#a99b64058386c930cd551d9296baf8111">DiagnoseQualifiedMemberReference</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="SemaOverload_8cpp.html#a2143ac7d927afc9feb28c9270c7ed86d">SemaRef</a>,</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>                                              <a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExpr,</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>                                              <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType,</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>                                              <span class="keyword">const</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="l00477"></a><span class="lineno">  477</span>                                              <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *rep,</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>                                        <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &nameInfo) {</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="comment">// If this is an implicit member access, use a different set of</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>   <span class="comment">// diagnostics.</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="keywordflow">if</span> (!BaseExpr)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     <span class="keywordflow">return</span> <a class="code" href="SemaExprMember_8cpp.html#a5832294f531f72b5ca5f5ad290a7b00c" title="Diagnose a reference to a field with no object available.">diagnoseInstanceReference</a>(SemaRef, SS, rep, nameInfo);</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>   SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(nameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a47f8f8d3dab3d4ae666ac99f15b58b02" title="getLoc - Returns the main location of the declaration name.">getLoc</a>(), diag::err_qualified_member_of_unrelated)</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>     << SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>() << rep << BaseType;</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> }</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> <span class="comment">// Check whether the declarations we found through a nested-name</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> <span class="comment">// specifier in a member expression are actually members of the base</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> <span class="comment">// type.  The restriction here is:</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> <span class="comment">//   C++ [expr.ref]p2:</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> <span class="comment">//     ... In these cases, the id-expression shall name a</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> <span class="comment">//     member of the class or of one of its base classes.</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> <span class="comment">// So it's perfectly legitimate for the nested-name specifier to name</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> <span class="comment">// an unrelated class, and for us to find an overload set including</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> <span class="comment">// decls from classes which are not superclasses, as long as the decl</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> <span class="comment">// we actually pick through overload resolution is from a superclass.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#afb3ef70d66f362110f94cf18340d2c1a">  500</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Sema.html#afb3ef70d66f362110f94cf18340d2c1a">Sema::CheckQualifiedMemberReference</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExpr,</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>                                          <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType,</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>                                          <span class="keyword">const</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="l00503"></a><span class="lineno">  503</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R) {</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>   <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseRecord =</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     cast_or_null<CXXRecordDecl>(computeDeclContext(BaseType));</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   <span class="keywordflow">if</span> (!BaseRecord) {</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="comment">// We can't check this yet because the base type is still</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     <span class="comment">// dependent.</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>     assert(BaseType-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>());</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>   }</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1UnresolvedSetIterator.html">LookupResult::iterator</a> I = R.<a class="code" href="classclang_1_1LookupResult.html#a460debe22c59694c326b3c4671726889">begin</a>(), E = R.<a class="code" href="classclang_1_1LookupResult.html#ae1db847b7820acee0a0371510ccdf1c9">end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>     <span class="comment">// If this is an implicit member reference and we find a</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>     <span class="comment">// non-instance member, it's not an error.</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>     <span class="keywordflow">if</span> (!BaseExpr && !(*I)->isCXXInstanceMember())</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>     <span class="comment">// Note that we use the DC of the decl, not the underlying decl.</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>     <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *DC = (*I)->getDeclContext();</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>     <span class="keywordflow">while</span> (DC-><a class="code" href="classclang_1_1DeclContext.html#abbf5a92a55d4faa4150ee8fd46a60345">isTransparentContext</a>())</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>       DC = DC-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>();</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>     <span class="keywordflow">if</span> (!DC-><a class="code" href="classclang_1_1DeclContext.html#a85027c592c0fa8ffa83e2570089217a7">isRecord</a>())</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>       <span class="keywordflow">continue</span>;</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>     <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *MemberRecord = cast<CXXRecordDecl>(DC)->getCanonicalDecl();</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     <span class="keywordflow">if</span> (BaseRecord-><a class="code" href="classclang_1_1CXXRecordDecl.html#a38f531b4822da3071fe56cc210978afd" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>() == MemberRecord ||</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>         !BaseRecord-><a class="code" href="classclang_1_1CXXRecordDecl.html#a858bfa3ead5c26da76e366a851961802" title="Determine whether this class is provably not derived from the type Base.">isProvablyNotDerivedFrom</a>(MemberRecord))</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   <a class="code" href="SemaExprMember_8cpp.html#a99b64058386c930cd551d9296baf8111">DiagnoseQualifiedMemberReference</a>(*<span class="keyword">this</span>, BaseExpr, BaseType, SS,</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>                                    R.<a class="code" href="classclang_1_1LookupResult.html#a67d43ac1334ede6ef1fd8fa13d885c74" title="Fetches a representative decl. Useful for lazy diagnostics.">getRepresentativeDecl</a>(),</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>                                    R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>());</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span> }</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> </div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> <span class="keyword">namespace </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> <span class="comment">// Callback to only accept typo corrections that are either a ValueDecl or a</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> <span class="comment">// FunctionTemplateDecl and are declared in the current record or, for a C++</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> <span class="comment">// classes, one of its base classes.</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> <span class="keyword">class </span>RecordMemberExprValidatorCCC : <span class="keyword">public</span> <a class="code" href="classclang_1_1CorrectionCandidateCallback.html" title="Base class for callback objects used by Sema::CorrectTypo to check the validity of a potential typo c...">CorrectionCandidateCallback</a> {</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   <span class="keyword">explicit</span> RecordMemberExprValidatorCCC(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RTy)</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>       : Record(RTy->getDecl()) {}</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span> </div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ValidateCandidate(<span class="keyword">const</span> <a class="code" href="classclang_1_1TypoCorrection.html" title="Simple class containing the result of Sema::CorrectTypo.">TypoCorrection</a> &candidate) {</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>     <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *ND = candidate.<a class="code" href="classclang_1_1TypoCorrection.html#a29de9b01d96527ae25ce1c2b7d45f7b6" title="Gets the pointer to the declaration of the typo correction.">getCorrectionDecl</a>();</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>     <span class="comment">// Don't accept candidates that cannot be member functions, constants,</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>     <span class="comment">// variables, or templates.</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>     <span class="keywordflow">if</span> (!ND || !(isa<ValueDecl>(ND) || isa<FunctionTemplateDecl>(ND)))</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> </div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>     <span class="comment">// Accept candidates that occur in the current record.</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>     <span class="keywordflow">if</span> (Record->containsDecl(ND))</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">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = dyn_cast<CXXRecordDecl>(Record)) {</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>       <span class="comment">// Accept candidates that occur in any of the current class' base classes.</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>       <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CXXBaseSpecifier.html" title="Represents a base class of a C++ class.">CXXRecordDecl::base_class_const_iterator</a> BS = RD->bases_begin(),</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>                                                     BSEnd = RD->bases_end();</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>            BS != BSEnd; ++BS) {</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *BSTy = dyn_cast_or_null<RecordType>(</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>                 BS->getType().getTypePtrOrNull())) {</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>           <span class="keywordflow">if</span> (BSTy->getDecl()->containsDecl(ND))</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>             <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>         }</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>       }</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>     }</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   }</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *<span class="keyword">const</span> Record;</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span> };</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span> </div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> }</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> <span class="keyword">static</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a4034b77c69a2f0323ba612ac49120dc8">  583</a></span> <a class="code" href="SemaExprMember_8cpp.html#a4034b77c69a2f0323ba612ac49120dc8">LookupMemberExprInRecord</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="SemaOverload_8cpp.html#a2143ac7d927afc9feb28c9270c7ed86d">SemaRef</a>, <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R, </div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>                          <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> BaseRange, <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RTy,</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</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, <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="l00586"></a><span class="lineno">  586</span>                          <span class="keywordtype">bool</span> HasTemplateArgs) {</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>   <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RDecl = RTy-><a class="code" href="classclang_1_1RecordType.html#a312ab3ebe179cc7d8692c07479c91076">getDecl</a>();</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   <span class="keywordflow">if</span> (!SemaRef.<a class="code" href="classclang_1_1Sema.html#aa7c876733c69e9f14b6d43960f75d763" title="Determine whether the given type is the type of *this that is used outside of the body of a member fu...">isThisOutsideMemberFunctionBody</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a>(RTy, 0)) &&</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>       SemaRef.<a class="code" href="classclang_1_1Sema.html#a4648f07425b7f681fed586a4280957fd" title="Ensure that the type T is a complete type.">RequireCompleteType</a>(OpLoc, <a class="code" href="classclang_1_1QualType.html">QualType</a>(RTy, 0),</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>                                   diag::err_typecheck_incomplete_tag,</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>                                   BaseRange))</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span> </div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="keywordflow">if</span> (HasTemplateArgs) {</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>     <span class="comment">// LookupTemplateName doesn't expect these both to exist simultaneously.</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> ObjectType = SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>() ? <a class="code" href="classclang_1_1QualType.html">QualType</a>() : <a class="code" href="classclang_1_1QualType.html">QualType</a>(RTy, 0);</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>     <span class="keywordtype">bool</span> MOUS;</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>     SemaRef.<a class="code" href="classclang_1_1Sema.html#addc17d59a794fec8dc1396f6995bde98">LookupTemplateName</a>(R, 0, SS, ObjectType, <span class="keyword">false</span>, MOUS);</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>   <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *DC = RDecl;</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>   <span class="keywordflow">if</span> (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>()) {</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>     <span class="comment">// If the member name was a qualified-id, look into the</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>     <span class="comment">// nested-name-specifier.</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>     DC = SemaRef.<a class="code" href="classclang_1_1Sema.html#aa87cf42fde12a9e06a3b076a63198c7a" title="Compute the DeclContext that is associated with the given type.">computeDeclContext</a>(SS, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span> </div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>     <span class="keywordflow">if</span> (SemaRef.<a class="code" href="classclang_1_1Sema.html#a236eb84a197bfbbdbd0e52df9e04673d" title="Require that the context specified by SS be complete.">RequireCompleteDeclContext</a>(SS, DC)) {</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>       SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), diag::err_typecheck_incomplete_tag)</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>         << SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>() << DC;</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     }</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span> </div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     assert(DC && <span class="stringliteral">"Cannot handle non-computable dependent contexts in lookup"</span>);</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span> </div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>     <span class="keywordflow">if</span> (!isa<TypeDecl>(DC)) {</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>       SemaRef.<a class="code" href="classclang_1_1Sema.html#ad29dfd1f2677772bf6b1da186a7583c3" title="Emit a diagnostic.">Diag</a>(R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>(), diag::err_qualified_member_nonclass)</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>         << DC << SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>();</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>     }</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   }</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span> </div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>   <span class="comment">// The record definition is complete, now look up the member.</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>   SemaRef.<a class="code" href="classclang_1_1Sema.html#ac5f5d2a5b4d98cf9d59b45044b83fd53" title="Perform qualified name lookup into a given context.">LookupQualifiedName</a>(R, DC);</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span> </div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   <span class="keywordflow">if</span> (!R.<a class="code" href="classclang_1_1LookupResult.html#a9f44c1cd9d9c7e84dd0202538dd72cd7" title="Return true if no decls were found.">empty</a>())</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span> </div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>   <span class="comment">// We didn't find anything with the given name, so try to correct</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>   <span class="comment">// for typos.</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>   <a class="code" href="classclang_1_1DeclarationName.html">DeclarationName</a> Name = R.<a class="code" href="classclang_1_1LookupResult.html#a3dd82d154e991b574d70a6a5aba8c61b" title="Gets the name to look up.">getLookupName</a>();</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>   RecordMemberExprValidatorCCC Validator(RTy);</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>   <a class="code" href="classclang_1_1TypoCorrection.html" title="Simple class containing the result of Sema::CorrectTypo.">TypoCorrection</a> Corrected = SemaRef.<a class="code" href="classclang_1_1Sema.html#a56bda9492c25602dc50508a4170268ef" title="Try to "correct" a typo in the source code by finding visible declarations whose names are similar to...">CorrectTypo</a>(R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>(),</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>                                                  R.<a class="code" href="classclang_1_1LookupResult.html#a915bb2f2bfa4bd99bf3d546e6568003f" title="Gets the kind of lookup to perform.">getLookupKind</a>(), <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>,</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>                                                  &SS, Validator, DC);</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   R.<a class="code" href="classclang_1_1LookupResult.html#a66106ede3de224099b3d0bdef5e0094e" title="Clears out any current state.">clear</a>();</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   <span class="keywordflow">if</span> (Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a66458bef97c5de23910ff675260360d9">isResolved</a>() && !Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a2802c9ba996a36c99542f64c569e6c53">isKeyword</a>()) {</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>     R.<a class="code" href="classclang_1_1LookupResult.html#a753b593b8bc113110a38aa8d8ebaf1af" title="Sets the name to look up.">setLookupName</a>(Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#ac7d7b1a630aa887bf1289d3a3048ed6c" title="Gets the DeclarationName of the typo correction.">getCorrection</a>());</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>     <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1TypoCorrection.html#a06ceba51d522d4edf9edfa920cae670c">TypoCorrection::decl_iterator</a> DI = Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a9b748b96e6f1eb0c4ae66fb7fbe7d8b7">begin</a>(),</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>                                        DIEnd = Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a93e560e7188bbd380f4557bc9f1f0bdb">end</a>();</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>          DI != DIEnd; ++DI) {</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>       R.<a class="code" href="classclang_1_1LookupResult.html#a62d3dbd6c56a75cad9685c81817253ac" title="Add a declaration to these results with its natural access. Does not test the acceptance criteria...">addDecl</a>(*DI);</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>     R.<a class="code" href="classclang_1_1LookupResult.html#a7bca9f6ca6b6a32dca0ac2dfc8568261" title="Resolves the result kind of the lookup, possibly hiding decls.">resolveKind</a>();</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span> </div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>     <span class="comment">// If we're typo-correcting to an overloaded name, we don't yet have enough</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>     <span class="comment">// information to do overload resolution, so we don't know which previous</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>     <span class="comment">// declaration to point to.</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>     <span class="keywordflow">if</span> (Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a427cebbdd4fb14cb2c75b1e7decf9a94">isOverloaded</a>())</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>       Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#ad26335dca444269985de182790ca5ca4" title="Clears the list of NamedDecls before adding the new one.">setCorrectionDecl</a>(0);</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>     <span class="keywordtype">bool</span> DroppedSpecifier =</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>         Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a92cf1df89287285322fe842c82132563">WillReplaceSpecifier</a>() &&</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>         Name.<a class="code" href="classclang_1_1DeclarationName.html#acdcc2ae303f4e46575a08e2ba278dd33" title="getNameAsString - Retrieve the human-readable string for this name.">getAsString</a>() == Corrected.<a class="code" href="classclang_1_1TypoCorrection.html#a0559280d5421d76229fbc01970efb567">getAsString</a>(SemaRef.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>());</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>     SemaRef.<a class="code" href="classclang_1_1Sema.html#ac282105147675560aa1344dcf17aeaa0">diagnoseTypo</a>(Corrected,</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>                          SemaRef.<a class="code" href="classclang_1_1Sema.html#ac4e72de7865043558a71912b3bfd8f91" title="Build a partial diagnostic.">PDiag</a>(diag::err_no_member_suggest)</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>                            << Name << DC << DroppedSpecifier << SS.getRange());</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>   }</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="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> }</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span> </div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00664"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a327a53f6892656efa0374375219b9783">  664</a></span> <a class="code" href="classclang_1_1Sema.html#a327a53f6892656efa0374375219b9783">Sema::BuildMemberReferenceExpr</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Base.html">Base</a>, <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType,</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</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, <span class="keywordtype">bool</span> IsArrow,</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</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="l00667"></a><span class="lineno">  667</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="l00668"></a><span class="lineno">  668</span>                                <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *FirstQualifierInScope,</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>                                <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &NameInfo,</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs) {</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>   <span class="keywordflow">if</span> (BaseType-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>() ||</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>       (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>() && isDependentScopeSpecifier(SS)))</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>     <span class="keywordflow">return</span> ActOnDependentMemberExpr(Base, BaseType,</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>                                     IsArrow, OpLoc,</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>                                     SS, TemplateKWLoc, FirstQualifierInScope,</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>                                     NameInfo, TemplateArgs);</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>   <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> R(*<span class="keyword">this</span>, NameInfo, LookupMemberName);</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span> </div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   <span class="comment">// Implicit member accesses.</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>   <span class="keywordflow">if</span> (!Base) {</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> RecordTy = BaseType;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>     <span class="keywordflow">if</span> (IsArrow) RecordTy = RecordTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()->getPointeeType();</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>     <span class="keywordflow">if</span> (<a class="code" href="SemaExprMember_8cpp.html#a4034b77c69a2f0323ba612ac49120dc8">LookupMemberExprInRecord</a>(*<span class="keyword">this</span>, R, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(),</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>                                  RecordTy-><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="l00686"></a><span class="lineno">  686</span>                                  OpLoc, SS, TemplateArgs != 0))</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span> </div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   <span class="comment">// Explicit member accesses.</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1ActionResult.html">BaseResult</a> = Owned(Base);</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> Result =</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>       LookupMemberExpr(R, BaseResult, IsArrow, OpLoc,</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>                        SS, <span class="comment">/*ObjCImpDecl*/</span> 0, TemplateArgs != 0);</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span> </div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>     <span class="keywordflow">if</span> (BaseResult.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>())</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>     Base = BaseResult.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> </div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>     <span class="keywordflow">if</span> (Result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) {</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>       Owned(Base);</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     }</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> </div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>     <span class="keywordflow">if</span> (Result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>())</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>       <span class="keywordflow">return</span> Result;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span> </div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     <span class="comment">// LookupMemberExpr can modify Base, and thus change BaseType</span></div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>     BaseType = Base-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>   }</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> </div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   <span class="keywordflow">return</span> BuildMemberReferenceExpr(Base, BaseType,</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>                                   OpLoc, IsArrow, SS, TemplateKWLoc,</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>                                   FirstQualifierInScope, R, TemplateArgs);</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> </div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> <span class="keyword">static</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span> <a class="code" href="SemaExprMember_8cpp.html#a3473a90a97fb8eb0849bd494915bcdde">BuildFieldReferenceExpr</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> *BaseExpr, <span class="keywordtype">bool</span> IsArrow,</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>                         <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> &SS, <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *Field,</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>                         <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> FoundDecl,</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>                         <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &MemberNameInfo);</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span> </div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00724"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a4442a678628327243fc2b51be3b80479">  724</a></span> <a class="code" href="classclang_1_1Sema.html#a4442a678628327243fc2b51be3b80479">Sema::BuildAnonymousStructUnionMemberReference</a>(<span class="keyword">const</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="l00725"></a><span class="lineno">  725</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="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a>,</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>                                                <a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a> *indirectField,</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>                                                <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> foundDecl,</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>                                                <a class="code" href="classclang_1_1Expr.html">Expr</a> *baseObjectExpr,</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</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="l00730"></a><span class="lineno">  730</span>   <span class="comment">// First, build the expression that refers to the base object.</span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>   </div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>   <span class="keywordtype">bool</span> baseObjectIsPointer = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>   <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> baseQuals;</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>   </div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>   <span class="comment">// Case 1:  the base of the indirect field is not a field.</span></div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>   <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *baseVariable = indirectField-><a class="code" href="classclang_1_1IndirectFieldDecl.html#aed90030faafc49718eee1937c8138804">getVarDecl</a>();</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>   <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> EmptySS;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>   <span class="keywordflow">if</span> (baseVariable) {</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>     assert(baseVariable-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>()-><a class="code" href="classclang_1_1Type.html#a6525adb10d549a7ee372424dcdb6b9bd">isRecordType</a>());</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>     </div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>     <span class="comment">// In principle we could have a member access expression that</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>     <span class="comment">// accesses an anonymous struct/union that's a static member of</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>     <span class="comment">// the base object's class.  However, under the current standard,</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>     <span class="comment">// static data members cannot be anonymous structs or unions.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>     <span class="comment">// Supporting this is as easy as building a MemberExpr here.</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>     assert(!baseObjectExpr && <span class="stringliteral">"anonymous struct/union is static data member?"</span>);</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>     <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> baseNameInfo(<a class="code" href="classclang_1_1DeclarationName.html">DeclarationName</a>(), loc);</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>     </div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> result </div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>       = BuildDeclarationNameExpr(EmptySS, baseNameInfo, baseVariable);</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</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="l00753"></a><span class="lineno">  753</span>     </div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>     baseObjectExpr = result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();    </div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>     baseObjectIsPointer = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>     baseQuals = baseObjectExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>().<a class="code" href="classclang_1_1QualType.html#a4a3d75cf019a2e769498ef8d6878888b" title="Retrieve the set of qualifiers applied to this type.">getQualifiers</a>();</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     </div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <span class="comment">// Case 2: the base of the indirect field is a field and the user</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>     <span class="comment">// wrote a member expression.</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (baseObjectExpr) {</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>     <span class="comment">// The caller provided the base object expression. Determine</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>     <span class="comment">// whether its a pointer and whether it adds any qualifiers to the</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>     <span class="comment">// anonymous struct/union fields we're looking into.</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> objectType = baseObjectExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *ptr = objectType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()) {</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>       baseObjectIsPointer = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>       objectType = ptr-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>       baseObjectIsPointer = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>     }</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>     baseQuals = objectType.<a class="code" href="classclang_1_1QualType.html#a4a3d75cf019a2e769498ef8d6878888b" title="Retrieve the set of qualifiers applied to this type.">getQualifiers</a>();</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>     </div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>     <span class="comment">// Case 3: the base of the indirect field is a field and we should</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>     <span class="comment">// build an implicit member access.</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     <span class="comment">// We've found a member of an anonymous struct/union that is</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     <span class="comment">// inside a non-anonymous struct/union, so in a well-formed</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     <span class="comment">// program our base object expression is "this".</span></div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> ThisTy = getCurrentThisType();</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>     <span class="keywordflow">if</span> (ThisTy.<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="l00782"></a><span class="lineno">  782</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(loc, diag::err_invalid_member_use_in_static_method)</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>         << indirectField-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>();</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>     }</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>     </div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>     <span class="comment">// Our base object expression is "this".</span></div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>     CheckCXXThisCapture(loc);</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>     baseObjectExpr </div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>       = <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1CXXThisExpr.html" title="Represents the this expression in C++.">CXXThisExpr</a>(loc, ThisTy, <span class="comment">/*isImplicit=*/</span> <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>     baseObjectIsPointer = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>     baseQuals = ThisTy-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()->getPointeeType().getQualifiers();</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>   }</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>   </div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>   <span class="comment">// Build the implicit member references to the field of the</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>   <span class="comment">// anonymous struct/union.</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *result = baseObjectExpr;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>   <a class="code" href="classclang_1_1IndirectFieldDecl.html#a6a0fd4de9f1a53fb21791d50c9ed2abc">IndirectFieldDecl::chain_iterator</a></div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>   FI = indirectField-><a class="code" href="classclang_1_1IndirectFieldDecl.html#a6fc82272044f7f5834621a2f9d66540d">chain_begin</a>(), FEnd = indirectField-><a class="code" href="classclang_1_1IndirectFieldDecl.html#a844b66f0d6ce8af21722f424e884e6d0">chain_end</a>();</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>   </div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>   <span class="comment">// Build the first member access in the chain with full information.</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   <span class="keywordflow">if</span> (!baseVariable) {</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>     <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *field = cast<FieldDecl>(*FI);</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>     </div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>     <span class="comment">// Make a nameInfo that properly uses the anonymous name.</span></div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>     <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> memberNameInfo(field-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>(), <a class="code" href="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a>);</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>     </div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>     result = <a class="code" href="SemaExprMember_8cpp.html#a3473a90a97fb8eb0849bd494915bcdde">BuildFieldReferenceExpr</a>(*<span class="keyword">this</span>, result, baseObjectIsPointer,</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>                                      EmptySS, field, foundDecl,</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>                                      memberNameInfo).<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>     <span class="keywordflow">if</span> (!result)</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span> </div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>     baseObjectIsPointer = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>     </div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>     <span class="comment">// FIXME: check qualified member access</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</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>   <span class="comment">// In all cases, we should now skip the first declaration in the chain.</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>   ++FI;</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="keywordflow">while</span> (FI != FEnd) {</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>     <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *field = cast<FieldDecl>(*FI++);</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span> </div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>     <span class="comment">// FIXME: these are somewhat meaningless</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>     <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> memberNameInfo(field-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>(), <a class="code" href="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a>);</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>     <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> fakeFoundDecl =</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>         <a class="code" href="classclang_1_1DeclAccessPair.html#a40bf16940069615f789f599664048241">DeclAccessPair::make</a>(field, field-><a class="code" href="classclang_1_1Decl.html#a81e82461f69e9a50e129ef4bfac42987">getAccess</a>());</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span> </div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>     result = <a class="code" href="SemaExprMember_8cpp.html#a3473a90a97fb8eb0849bd494915bcdde">BuildFieldReferenceExpr</a>(*<span class="keyword">this</span>, result, <span class="comment">/*isarrow*/</span> <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>                                      (FI == FEnd? SS : EmptySS), field,</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>                                      fakeFoundDecl, memberNameInfo).<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>   }</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>   </div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>   <span class="keywordflow">return</span> Owned(result);</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span> }</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span> </div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span> <span class="keyword">static</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00839"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#ab2cb8b8ab8ba0177ccc5b8e4a985ece5">  839</a></span> <a class="code" href="SemaExprMember_8cpp.html#ab2cb8b8ab8ba0177ccc5b8e4a985ece5">BuildMSPropertyRefExpr</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> *BaseExpr, <span class="keywordtype">bool</span> IsArrow,</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>                        <span class="keyword">const</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="l00841"></a><span class="lineno">  841</span>                        <a class="code" href="classclang_1_1MSPropertyDecl.html">MSPropertyDecl</a> *PD,</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>                        <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &NameInfo) {</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>   <span class="comment">// Property names are always simple identifiers and therefore never</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>   <span class="comment">// require any interesting additional storage.</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> (S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>) <a class="code" href="classclang_1_1MSPropertyRefExpr.html" title="A member reference to an MSPropertyDecl.">MSPropertyRefExpr</a>(BaseExpr, PD, IsArrow,</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>                                            S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a87abdcb929904305709de24d315f3c4e">PseudoObjectTy</a>, <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a>,</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>                                            SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a39276dfded0dab7f252f05c9f643996f" title="Retrieve a nested-name-specifier with location information, copied into the given AST context...">getWithLocInContext</a>(S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>),</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>                                            NameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a47f8f8d3dab3d4ae666ac99f15b58b02" title="getLoc - Returns the main location of the declaration name.">getLoc</a>());</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"></span></div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span> <span class="comment">/// \brief Build a MemberExpr AST node.</span></div>
+<div class="line"><a name="l00852"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#aec6106693249688b3d7b4da481408614">  852</a></span> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="classclang_1_1MemberExpr.html">MemberExpr</a> *<a class="code" href="SemaExprMember_8cpp.html#aec6106693249688b3d7b4da481408614" title="Build a MemberExpr AST node.">BuildMemberExpr</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="SemaOverload_8cpp.html#a2143ac7d927afc9feb28c9270c7ed86d">SemaRef</a>,</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>                                    <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Base.html">Base</a>, <span class="keywordtype">bool</span> isArrow,</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>                                    <span class="keyword">const</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="l00855"></a><span class="lineno">  855</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="l00856"></a><span class="lineno">  856</span>                                    <a class="code" href="classclang_1_1ValueDecl.html">ValueDecl</a> *Member,</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>                                    <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> FoundDecl,</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>                                    <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &MemberNameInfo,</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>                                    <a class="code" href="classclang_1_1QualType.html">QualType</a> Ty,</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>                                    <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> VK, <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1" title="A further classification of the kind of object referenced by an l-value or x-value.">ExprObjectKind</a> OK,</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs = 0) {</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>   assert((!isArrow || Base-><a class="code" href="classclang_1_1Expr.html#a4cd56ea13000be78c5459f10df89e84a">isRValue</a>()) && <span class="stringliteral">"-> base must be a pointer rvalue"</span>);</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>   <a class="code" href="classclang_1_1MemberExpr.html">MemberExpr</a> *E =</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>       <a class="code" href="classclang_1_1MemberExpr.html#a12623f4cf10f73976348ee71d29f44bb">MemberExpr::Create</a>(C, Base, isArrow, SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a39276dfded0dab7f252f05c9f643996f" title="Retrieve a nested-name-specifier with location information, copied into the given AST context...">getWithLocInContext</a>(C),</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>                          TemplateKWLoc, Member, FoundDecl, MemberNameInfo,</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>                          TemplateArgs, Ty, VK, OK);</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>   SemaRef.<a class="code" href="classclang_1_1Sema.html#adeec63ca9a84d6f3d40e30c2f6f2cbba" title="Perform reference-marking and odr-use handling for a MemberExpr.">MarkMemberReferenced</a>(E);</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>   <span class="keywordflow">return</span> E;</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> }</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> </div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l00872"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a61c9221c59dca0e47365f34953970deb">  872</a></span> <a class="code" href="classclang_1_1Sema.html#a327a53f6892656efa0374375219b9783">Sema::BuildMemberReferenceExpr</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExpr, <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseExprType,</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</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, <span class="keywordtype">bool</span> IsArrow,</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>                                <span class="keyword">const</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="l00875"></a><span class="lineno">  875</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="l00876"></a><span class="lineno">  876</span>                                <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *FirstQualifierInScope,</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>                                <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R,</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs,</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>                                <span class="keywordtype">bool</span> SuppressQualifierCheck,</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>                                <a class="code" href="structclang_1_1Sema_1_1ActOnMemberAccessExtraArgs.html">ActOnMemberAccessExtraArgs</a> *ExtraArgs) {</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType = BaseExprType;</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>   <span class="keywordflow">if</span> (IsArrow) {</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>     assert(BaseType-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>());</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>     BaseType = BaseType-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()->getPointeeType();</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>   }</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>   R.<a class="code" href="classclang_1_1LookupResult.html#a4650fa03b2823b712bdae1dd70ade251" title="Sets the base object type for this lookup.">setBaseObjectType</a>(BaseType);</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>   </div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>   <a class="code" href="classclang_1_1sema_1_1LambdaScopeInfo.html">LambdaScopeInfo</a> *<span class="keyword">const</span> CurLSI = getCurLambda();</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>   <span class="comment">// If this is an implicit member reference and the overloaded</span></div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>   <span class="comment">// name refers to both static and non-static member functions</span></div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>   <span class="comment">// (i.e. BaseExpr is null) and if we are currently processing a lambda, </span></div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>   <span class="comment">// check if we should/can capture 'this'...</span></div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>   <span class="comment">// Keep this example in mind:</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>   <span class="comment">//  struct X {</span></div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   <span class="comment">//   void f(int) { }</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>   <span class="comment">//   static void f(double) { }</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>   <span class="comment">// </span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>   <span class="comment">//   int g() {</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>   <span class="comment">//     auto L = [=](auto a) { </span></div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>   <span class="comment">//       return [](int i) {</span></div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>   <span class="comment">//         return [=](auto b) {</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>   <span class="comment">//           f(b); </span></div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>   <span class="comment">//           //f(decltype(a){});</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>   <span class="comment">//         };</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>   <span class="comment">//       };</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>   <span class="comment">//     };</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>   <span class="comment">//     auto M = L(0.0); </span></div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>   <span class="comment">//     auto N = M(3);</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>   <span class="comment">//     N(5.32); // OK, must not error. </span></div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>   <span class="comment">//     return 0;</span></div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>   <span class="comment">//   }</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>   <span class="comment">//  };</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>   <span class="keywordflow">if</span> (!BaseExpr && CurLSI) {</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>     <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>();</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>     <span class="keywordflow">if</span> (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#acdaac0809b0eec9ce9ec88e1a9da7fb6">isValid</a>())</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>       Loc = SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>();    </div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>     <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *EnclosingFunctionCtx = CurContext-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>()-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>();</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>     <span class="comment">// If the enclosing function is not dependent, then this lambda is </span></div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>     <span class="comment">// capture ready, so if we can capture this, do so.</span></div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     <span class="keywordflow">if</span> (!EnclosingFunctionCtx-><a class="code" href="classclang_1_1DeclContext.html#a0d06ccd1db1b1f60e91d95d50aeae75d" title="Determines whether this context is dependent on a template parameter.">isDependentContext</a>()) {</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>       <span class="comment">// If the current lambda and all enclosing lambdas can capture 'this' -</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>       <span class="comment">// then go ahead and capture 'this' (since our unresolved overload set </span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>       <span class="comment">// contains both static and non-static member functions). </span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>       <span class="keywordflow">if</span> (!CheckCXXThisCapture(Loc, <span class="comment">/*Explcit*/</span><span class="keyword">false</span>, <span class="comment">/*Diagnose*/</span><span class="keyword">false</span>))</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>         CheckCXXThisCapture(Loc);</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CurContext->isDependentContext()) { </div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>       <span class="comment">// ... since this is an implicit member reference, that might potentially</span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>       <span class="comment">// involve a 'this' capture, mark 'this' for potential capture in </span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>       <span class="comment">// enclosing lambdas.</span></div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>       <span class="keywordflow">if</span> (CurLSI-><a class="code" href="classclang_1_1sema_1_1CapturingScopeInfo.html#a5da09bddbd5de9224d9815769fcae173">ImpCaptureStyle</a> != CurLSI-><a class="code" href="classclang_1_1sema_1_1CapturingScopeInfo.html#ac5dd383003c5fa015d574548c40621b4a9396ad96b81b17b617181fbd7eab7299">ImpCap_None</a>)</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>         CurLSI-><a class="code" href="classclang_1_1sema_1_1LambdaScopeInfo.html#a973b5d63115814da63e90c21f7b74a67">addPotentialThisCapture</a>(Loc);</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>     }</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>   }</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &MemberNameInfo = R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>();</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>   <a class="code" href="classclang_1_1DeclarationName.html">DeclarationName</a> MemberName = MemberNameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>();</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> MemberLoc = MemberNameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a47f8f8d3dab3d4ae666ac99f15b58b02" title="getLoc - Returns the main location of the declaration name.">getLoc</a>();</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> </div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>   <span class="keywordflow">if</span> (R.<a class="code" href="classclang_1_1LookupResult.html#ad40ced676b01c7ef20a8a3612869bf54">isAmbiguous</a>())</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span> </div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   <span class="keywordflow">if</span> (R.<a class="code" href="classclang_1_1LookupResult.html#a9f44c1cd9d9c7e84dd0202538dd72cd7" title="Return true if no decls were found.">empty</a>()) {</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>     <span class="comment">// Rederive where we looked up.</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>     <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *DC = (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>()</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>                        ? computeDeclContext(SS, <span class="keyword">false</span>)</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>                        : BaseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span> </div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>     <span class="keywordflow">if</span> (ExtraArgs) {</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>       <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> RetryExpr;</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>       <span class="keywordflow">if</span> (!IsArrow && BaseExpr) {</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>         <a class="code" href="classclang_1_1Sema_1_1SFINAETrap.html" title="RAII class used to determine whether SFINAE has trapped any errors that occur during template argumen...">SFINAETrap</a> Trap(*<span class="keyword">this</span>, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>         <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> ObjectType;</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>         <span class="keywordtype">bool</span> MayBePseudoDestructor = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>         RetryExpr = ActOnStartCXXMemberReference(getCurScope(), BaseExpr,</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>                                                  OpLoc, tok::arrow, ObjectType,</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>                                                  MayBePseudoDestructor);</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>         <span class="keywordflow">if</span> (RetryExpr.<a class="code" href="classclang_1_1ActionResult.html#ae70d0a2fa83269f71f1634cb9e0dc3d6">isUsable</a>() && !Trap.<a class="code" href="classclang_1_1Sema_1_1SFINAETrap.html#abf404c6af5d21ad7887d3c2d4dc3e002" title="Determine whether any SFINAE errors have been trapped.">hasErrorOccurred</a>()) {</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>           <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> TempSS(SS);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>           RetryExpr = ActOnMemberAccessExpr(</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>               ExtraArgs-><a class="code" href="structclang_1_1Sema_1_1ActOnMemberAccessExtraArgs.html#a67005267501aa86840b3e60f0a47ac88">S</a>, RetryExpr.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>(), OpLoc, tok::arrow, TempSS,</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>               TemplateKWLoc, ExtraArgs-><a class="code" href="structclang_1_1Sema_1_1ActOnMemberAccessExtraArgs.html#a903b3eb0d616de0c8612ffaaf8d9bbf4">Id</a>, ExtraArgs-><a class="code" href="structclang_1_1Sema_1_1ActOnMemberAccessExtraArgs.html#ae9589f0d7eb6aacc37e3a67a16c2ee68">ObjCImpDecl</a>,</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>               ExtraArgs-><a class="code" href="structclang_1_1Sema_1_1ActOnMemberAccessExtraArgs.html#a29c6ba7f7e04fe135d11dd0644d86a08">HasTrailingLParen</a>);</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>         }</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>         <span class="keywordflow">if</span> (Trap.<a class="code" href="classclang_1_1Sema_1_1SFINAETrap.html#abf404c6af5d21ad7887d3c2d4dc3e002" title="Determine whether any SFINAE errors have been trapped.">hasErrorOccurred</a>())</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>           RetryExpr = <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>       }</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>       <span class="keywordflow">if</span> (RetryExpr.<a class="code" href="classclang_1_1ActionResult.html#ae70d0a2fa83269f71f1634cb9e0dc3d6">isUsable</a>()) {</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>         <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(OpLoc, diag::err_no_member_overloaded_arrow)</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>           << MemberName << DC << <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">FixItHint::CreateReplacement</a>(OpLoc, <span class="stringliteral">"->"</span>);</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>         <span class="keywordflow">return</span> RetryExpr;</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>       }</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>     }</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span> </div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>(), diag::err_no_member)</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>       << MemberName << DC</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>       << (BaseExpr ? BaseExpr-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>() : <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>());</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>   }</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span> </div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>   <span class="comment">// Diagnose lookups that find only declarations from a non-base</span></div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>   <span class="comment">// type.  This is possible for either qualified lookups (which may</span></div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>   <span class="comment">// have been qualified with an unrelated type) or implicit member</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>   <span class="comment">// expressions (which were found with unqualified lookup and thus</span></div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>   <span class="comment">// may have come from an enclosing scope).  Note that it's okay for</span></div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>   <span class="comment">// lookup to find declarations from a non-base type as long as those</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>   <span class="comment">// aren't the ones picked by overload resolution.</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>   <span class="keywordflow">if</span> ((SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>() || !BaseExpr ||</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>        (isa<CXXThisExpr>(BaseExpr) &&</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>         cast<CXXThisExpr>(BaseExpr)->isImplicit())) &&</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>       !SuppressQualifierCheck &&</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>       CheckQualifiedMemberReference(BaseExpr, BaseType, SS, R))</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>   </div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>   <span class="comment">// Construct an unresolved result if we in fact got an unresolved</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>   <span class="comment">// result.</span></div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>   <span class="keywordflow">if</span> (R.<a class="code" href="classclang_1_1LookupResult.html#a460a89166d56f42eb642f6fd504521a8" title="Determines if the results are overloaded.">isOverloadedResult</a>() || R.<a class="code" href="classclang_1_1LookupResult.html#a6326b8d5d3a53f7a8b867c0551ada679">isUnresolvableResult</a>()) {</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>     <span class="comment">// Suppress any lookup-related diagnostics; we'll do these when we</span></div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>     <span class="comment">// pick a member.</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>     R.<a class="code" href="classclang_1_1LookupResult.html#ae2764b699f93e9590281ce9c4b097e33">suppressDiagnostics</a>();</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>     <a class="code" href="classclang_1_1UnresolvedMemberExpr.html" title="Represents a C++ member access expression for which lookup produced a set of overloaded functions...">UnresolvedMemberExpr</a> *MemExpr</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>       = <a class="code" href="classclang_1_1UnresolvedMemberExpr.html#aabdb1ab8772fe16688dc639a37747c91">UnresolvedMemberExpr::Create</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, R.<a class="code" href="classclang_1_1LookupResult.html#a6326b8d5d3a53f7a8b867c0551ada679">isUnresolvableResult</a>(),</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>                                      BaseExpr, BaseExprType,</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>                                      IsArrow, OpLoc,</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>                                      SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a39276dfded0dab7f252f05c9f643996f" title="Retrieve a nested-name-specifier with location information, copied into the given AST context...">getWithLocInContext</a>(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>),</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>                                      TemplateKWLoc, MemberNameInfo,</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>                                      TemplateArgs, R.<a class="code" href="classclang_1_1LookupResult.html#a460debe22c59694c326b3c4671726889">begin</a>(), R.<a class="code" href="classclang_1_1LookupResult.html#ae1db847b7820acee0a0371510ccdf1c9">end</a>());</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>     <span class="keywordflow">return</span> Owned(MemExpr);</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>   }</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>   assert(R.<a class="code" href="classclang_1_1LookupResult.html#aa262b3b1335fcc25968ca8aecd64e7eb">isSingleResult</a>());</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>   <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> FoundDecl = R.<a class="code" href="classclang_1_1LookupResult.html#a460debe22c59694c326b3c4671726889">begin</a>().<a class="code" href="classclang_1_1UnresolvedSetIterator.html#a8d31ef55bb8da11b7f0a6a4af9c764c9">getPair</a>();</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>   <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *MemberDecl = R.<a class="code" href="classclang_1_1LookupResult.html#a626e09f67bb669edefa962b5ae745344" title="Fetch the unique decl found by this lookup. Asserts that one was found.">getFoundDecl</a>();</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>   <span class="comment">// FIXME: diagnose the presence of template arguments now.</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>   <span class="comment">// If the decl being referenced had an error, return an error for this</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>   <span class="comment">// sub-expr without emitting another error, in order to avoid cascading</span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>   <span class="comment">// error cases.</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>   <span class="keywordflow">if</span> (MemberDecl-><a class="code" href="classclang_1_1Decl.html#a17ec912fd67469eea51741d45eb0c800">isInvalidDecl</a>())</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>   <span class="comment">// Handle the implicit-member-access case.</span></div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>   <span class="keywordflow">if</span> (!BaseExpr) {</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>     <span class="comment">// If this is not an instance member, convert to a non-member access.</span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>     <span class="keywordflow">if</span> (!MemberDecl-><a class="code" href="classclang_1_1NamedDecl.html#a614520a704fb5219e51ec678fa66103d" title="Determine whether the given declaration is an instance member of a C++ class.">isCXXInstanceMember</a>())</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>       <span class="keywordflow">return</span> BuildDeclarationNameExpr(SS, R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>(), MemberDecl);</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>     <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>();</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>     <span class="keywordflow">if</span> (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#acdaac0809b0eec9ce9ec88e1a9da7fb6">isValid</a>())</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>       Loc = SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>();</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>     CheckCXXThisCapture(Loc);</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>     BaseExpr = <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1CXXThisExpr.html" title="Represents the this expression in C++.">CXXThisExpr</a>(Loc, BaseExprType,<span class="comment">/*isImplicit=*/</span><span class="keyword">true</span>);</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>   <span class="keywordtype">bool</span> ShouldCheckUse = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = dyn_cast<CXXMethodDecl>(MemberDecl)) {</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>     <span class="comment">// Don't diagnose the use of a virtual member function unless it's</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>     <span class="comment">// explicitly qualified.</span></div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>     <span class="keywordflow">if</span> (MD->isVirtual() && !SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>())</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>       ShouldCheckUse = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>   }</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>   <span class="comment">// Check the use of this member.</span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>   <span class="keywordflow">if</span> (ShouldCheckUse && DiagnoseUseOfDecl(MemberDecl, MemberLoc)) {</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>     Owned(BaseExpr);</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>   }</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD = dyn_cast<FieldDecl>(MemberDecl))</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>     <span class="keywordflow">return</span> <a class="code" href="SemaExprMember_8cpp.html#a3473a90a97fb8eb0849bd494915bcdde">BuildFieldReferenceExpr</a>(*<span class="keyword">this</span>, BaseExpr, IsArrow,</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>                                    SS, FD, FoundDecl, MemberNameInfo);</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="keywordflow">if</span> (<a class="code" href="classclang_1_1MSPropertyDecl.html">MSPropertyDecl</a> *PD = dyn_cast<MSPropertyDecl>(MemberDecl))</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>     <span class="keywordflow">return</span> <a class="code" href="SemaExprMember_8cpp.html#ab2cb8b8ab8ba0177ccc5b8e4a985ece5">BuildMSPropertyRefExpr</a>(*<span class="keyword">this</span>, BaseExpr, IsArrow, SS, PD,</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>                                   MemberNameInfo);</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a> *FD = dyn_cast<IndirectFieldDecl>(MemberDecl))</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>     <span class="comment">// We may have found a field within an anonymous union or struct</span></div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>     <span class="comment">// (C++ [class.union]).</span></div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>     <span class="keywordflow">return</span> BuildAnonymousStructUnionMemberReference(SS, MemberLoc, FD,</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>                                                     FoundDecl, BaseExpr,</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>                                                     OpLoc);</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var = dyn_cast<VarDecl>(MemberDecl)) {</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>     <span class="keywordflow">return</span> Owned(<a class="code" href="SemaExprMember_8cpp.html#aec6106693249688b3d7b4da481408614" title="Build a MemberExpr AST node.">BuildMemberExpr</a>(*<span class="keyword">this</span>, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, BaseExpr, IsArrow, SS,</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>                                  TemplateKWLoc, Var, FoundDecl, MemberNameInfo,</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>                                  Var->getType().getNonReferenceType(),</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</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>));</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>   }</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MemberFn = dyn_cast<CXXMethodDecl>(MemberDecl)) {</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>     <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> valueKind;</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#a82efb51f28681d561f9ce42fecf09d4b" title="Matches Types in the clang AST.">type</a>;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>     <span class="keywordflow">if</span> (MemberFn->isInstance()) {</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>       valueKind = <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>;</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>       type = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a7fcf245139d35c3e1bf527187b0a6c40">BoundMemberTy</a>;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>       valueKind = <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a>;</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>       type = MemberFn->getType();</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>     }</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>     <span class="keywordflow">return</span> Owned(<a class="code" href="SemaExprMember_8cpp.html#aec6106693249688b3d7b4da481408614" title="Build a MemberExpr AST node.">BuildMemberExpr</a>(*<span class="keyword">this</span>, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, BaseExpr, IsArrow, SS, </div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>                                  TemplateKWLoc, MemberFn, FoundDecl, </div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>                                  MemberNameInfo, type, valueKind,</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</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="l01088"></a><span class="lineno"> 1088</span>   }</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>   assert(!isa<FunctionDecl>(MemberDecl) && <span class="stringliteral">"member function not C++ method?"</span>);</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> </div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1EnumConstantDecl.html">EnumConstantDecl</a> *Enum = dyn_cast<EnumConstantDecl>(MemberDecl)) {</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>     <span class="keywordflow">return</span> Owned(<a class="code" href="SemaExprMember_8cpp.html#aec6106693249688b3d7b4da481408614" title="Build a MemberExpr AST node.">BuildMemberExpr</a>(*<span class="keyword">this</span>, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, BaseExpr, IsArrow, SS,</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>                                  TemplateKWLoc, Enum, FoundDecl, MemberNameInfo,</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>                                  Enum->getType(), <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>));</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>   }</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>   Owned(BaseExpr);</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>   <span class="comment">// We found something that we didn't expect. Complain.</span></div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>   <span class="keywordflow">if</span> (isa<TypeDecl>(MemberDecl))</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::err_typecheck_member_reference_type)</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>       << MemberName << BaseType << int(IsArrow);</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>     <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::err_typecheck_member_reference_unknown)</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>       << MemberName << BaseType << int(IsArrow);</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>   <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberDecl-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>(), diag::note_member_declared_here)</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>     << MemberName;</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>   R.<a class="code" href="classclang_1_1LookupResult.html#ae2764b699f93e9590281ce9c4b097e33">suppressDiagnostics</a>();</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment"></span></div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment">/// Given that normal member access failed on the given expression,</span></div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="comment">/// and given that the expression's type involves builtin-id or</span></div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="comment">/// builtin-Class, decide whether substituting in the redefinition</span></div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="comment">/// types would be profitable.  The redefinition type is whatever</span></div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> <span class="comment">/// this translation unit tried to typedef to id/Class;  we store</span></div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="comment">/// it to the side and then re-use it in places like this.</span></div>
+<div class="line"><a name="l01119"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a2204f53ed814e3f6cb3c512f0c9ac412"> 1119</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaExprMember_8cpp.html#a2204f53ed814e3f6cb3c512f0c9ac412">ShouldTryAgainWithRedefinitionType</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_1ActionResult.html">ExprResult</a> &base) {</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *opty</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>     = base.<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#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>();</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>   <span class="keywordflow">if</span> (!opty) <span class="keywordflow">return</span> <span class="keyword">false</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>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *ty = opty-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#abb391d91721464c0dc1eb15f333637a9">getObjectType</a>();</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> </div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> redef;</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>   <span class="keywordflow">if</span> (ty-><a class="code" href="classclang_1_1ObjCObjectType.html#ae18c2f18b07e28f2923d25694c0b153f">isObjCId</a>()) {</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>     redef = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a2e8eaafced53a1f1ab2e6cdd239fe40a" title="Retrieve the type that id has been defined to, which may be different from the built-in id if id has ...">getObjCIdRedefinitionType</a>();</div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ty-><a class="code" href="classclang_1_1ObjCObjectType.html#a4c0774874411f66a0b6e9bb2dc48ab91">isObjCClass</a>()) {</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>     redef = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ae39d4a7217a8822e558916ebbfd49eb7" title="Retrieve the type that Class has been defined to, which may be different from the built-in Class if C...">getObjCClassRedefinitionType</a>();</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>   }</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> </div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>   <span class="comment">// Do the substitution as long as the redefinition type isn't just a</span></div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>   <span class="comment">// possibly-qualified pointer to builtin-id or builtin-Class again.</span></div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>   opty = redef-><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="l01138"></a><span class="lineno"> 1138</span>   <span class="keywordflow">if</span> (opty && !opty-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#abb391d91721464c0dc1eb15f333637a9">getObjectType</a>()-><a class="code" href="classclang_1_1ObjCObjectType.html#a768f52da9b3b79e70b48391b38388e40">getInterface</a>())</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> </div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>   base = S.<a class="code" href="classclang_1_1Sema.html#a5120f756f6170ec92850d417f15318e1">ImpCastExprToType</a>(base.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), redef, <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca183b8948b82911a415cc54446ddcb3ab">CK_BitCast</a>);</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
+<div class="line"><a name="l01145"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a5b32f1f5458cdcce08266b011ebd034b"> 1145</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaExprMember_8cpp.html#a5b32f1f5458cdcce08266b011ebd034b">isRecordType</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T) {</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>   <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Type.html#a6525adb10d549a7ee372424dcdb6b9bd">isRecordType</a>();</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> }</div>
+<div class="line"><a name="l01148"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a29d996afa023b3358f44cfb05c25bca5"> 1148</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SemaExprMember_8cpp.html#a29d996afa023b3358f44cfb05c25bca5">isPointerToRecordType</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> T) {</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PT = T-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>())</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>     <span class="keywordflow">return</span> PT->getPointeeType()->isRecordType();</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> }</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="comment"></span></div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="comment">/// Perform conversions on the LHS of a member access expression.</span></div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l01156"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a3f31ba4afe2ee6803e5e79df2e2447bd"> 1156</a></span> <a class="code" href="classclang_1_1Sema.html#a3f31ba4afe2ee6803e5e79df2e2447bd" title="Perform conversions on the LHS of a member access expression.">Sema::PerformMemberExprBaseConversion</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Base.html">Base</a>, <span class="keywordtype">bool</span> IsArrow) {</div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>   <span class="keywordflow">if</span> (IsArrow && !Base-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#af0ae1f40cbbc07fabfefc86af91072e3">isFunctionType</a>())</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>     <span class="keywordflow">return</span> DefaultFunctionArrayLvalueConversion(Base);</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>   <span class="keywordflow">return</span> CheckPlaceholderExpr(Base);</div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> }</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="comment"></span></div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="comment">/// Look up the given member of the given non-type-dependent</span></div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="comment">/// expression.  This can return in one of two ways:</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="comment">///  * If it returns a sentinel null-but-valid result, the caller will</span></div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="comment">///    assume that lookup was performed and the results written into</span></div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="comment">///    the provided structure.  It will take over from there.</span></div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="comment">///  * Otherwise, the returned expression will be produced in place of</span></div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="comment">///    an ordinary member expression.</span></div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="comment">/// The ObjCImpDecl bit is a gross hack that will need to be properly</span></div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="comment">/// fixed for ObjC++.</span></div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l01174"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#ae70d523f35318b2f4ff1fe67179a9b0e"> 1174</a></span> <a class="code" href="classclang_1_1Sema.html#ae70d523f35318b2f4ff1fe67179a9b0e">Sema::LookupMemberExpr</a>(<a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R, <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> &BaseExpr,</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>                        <span class="keywordtype">bool</span> &IsArrow, <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="l01176"></a><span class="lineno"> 1176</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="l01177"></a><span class="lineno"> 1177</span>                        <a class="code" href="classclang_1_1Decl.html">Decl</a> *ObjCImpDecl, <span class="keywordtype">bool</span> HasTemplateArgs) {</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>   assert(BaseExpr.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>() && <span class="stringliteral">"no base expression"</span>);</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>   <span class="comment">// Perform default conversions.</span></div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>   BaseExpr = PerformMemberExprBaseConversion(BaseExpr.take(), IsArrow);</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>   <span class="keywordflow">if</span> (BaseExpr.isInvalid())</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType = BaseExpr.get()->getType();</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>   assert(!BaseType-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>());</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> </div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>   <a class="code" href="classclang_1_1DeclarationName.html">DeclarationName</a> MemberName = R.<a class="code" href="classclang_1_1LookupResult.html#a3dd82d154e991b574d70a6a5aba8c61b" title="Gets the name to look up.">getLookupName</a>();</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</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> MemberLoc = R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>();</div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>   <span class="comment">// For later type-checking purposes, turn arrow accesses into dot</span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>   <span class="comment">// accesses.  The only access type we support that doesn't follow</span></div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>   <span class="comment">// the C equivalence "a->b === (*a).b" is ObjC property accesses,</span></div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>   <span class="comment">// and those never use arrows, so this is unaffected.</span></div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>   <span class="keywordflow">if</span> (IsArrow) {</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *Ptr = BaseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>())</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>       BaseType = Ptr-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>     <span class="keywordflow">else</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="l01199"></a><span class="lineno"> 1199</span>                = BaseType-><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="l01200"></a><span class="lineno"> 1200</span>       BaseType = Ptr-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (BaseType-><a class="code" href="classclang_1_1Type.html#a6525adb10d549a7ee372424dcdb6b9bd">isRecordType</a>()) {</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>       <span class="comment">// Recover from arrow accesses to records, e.g.:</span></div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>       <span class="comment">//   struct MyRecord foo;</span></div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>       <span class="comment">//   foo->bar</span></div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>       <span class="comment">// This is actually well-formed in C++ if MyRecord has an</span></div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>       <span class="comment">// overloaded operator->, but that should have been dealt with</span></div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>       <span class="comment">// by now--or a diagnostic message already issued if a problem</span></div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>       <span class="comment">// was encountered while looking for the overloaded operator->.</span></div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>       <span class="keywordflow">if</span> (!getLangOpts().CPlusPlus) {</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>         <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(OpLoc, diag::err_typecheck_member_reference_suggestion)</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>           << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>           << <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">FixItHint::CreateReplacement</a>(OpLoc, <span class="stringliteral">"."</span>);</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>       }</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>       IsArrow = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (BaseType-><a class="code" href="classclang_1_1Type.html#af0ae1f40cbbc07fabfefc86af91072e3">isFunctionType</a>()) {</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>       <span class="keywordflow">goto</span> fail;</div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::err_typecheck_member_reference_arrow)</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>         << BaseType << BaseExpr.get()->getSourceRange();</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>     }</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>   }</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> </div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>   <span class="comment">// Handle field access to simple records.</span></div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RTy = BaseType-><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="l01226"></a><span class="lineno"> 1226</span>     <span class="keywordflow">if</span> (<a class="code" href="SemaExprMember_8cpp.html#a4034b77c69a2f0323ba612ac49120dc8">LookupMemberExprInRecord</a>(*<span class="keyword">this</span>, R, BaseExpr.get()->getSourceRange(),</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>                                  RTy, OpLoc, SS, HasTemplateArgs))</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>     <span class="comment">// Returning valid-but-null is how we indicate to the caller that</span></div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>     <span class="comment">// the lookup result was filled in.</span></div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>     <span class="keywordflow">return</span> Owned((<a class="code" href="classclang_1_1Expr.html">Expr</a>*) 0);</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>   }</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>   <span class="comment">// Handle ivar access to Objective-C objects.</span></div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *OTy = BaseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a>>()) {</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>     <span class="keywordflow">if</span> (!SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae92a40568ee6a10431af2437af862b07" title="No scope specifier.">isEmpty</a>() && !SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4470b2b22ffe903c05b83ba25d774652" title="An error occurred during parsing of the scope specifier.">isInvalid</a>()) {</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), diag::err_qualified_objc_access)</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>         << 1 << SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>()</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>         << <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">FixItHint::CreateRemoval</a>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>());</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>       SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ad0146caf0e994e6d5982566d622ff8f9">clear</a>();</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>     }</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>     </div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Member = MemberName.getAsIdentifierInfo();</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>     <span class="comment">// There are three cases for the base type:</span></div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>     <span class="comment">//   - builtin id (qualified or unqualified)</span></div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>     <span class="comment">//   - builtin Class (qualified or unqualified)</span></div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>     <span class="comment">//   - an interface</span></div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>     <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IDecl = OTy->getInterface();</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>     <span class="keywordflow">if</span> (!IDecl) {</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>       <span class="keywordflow">if</span> (getLangOpts().ObjCAutoRefCount &&</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>           (OTy->isObjCId() || OTy->isObjCClass()))</div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>         <span class="keywordflow">goto</span> fail;</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>       <span class="comment">// There's an implicit 'isa' ivar on all objects.</span></div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>       <span class="comment">// But we only actually find it this way on objects of type 'id',</span></div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>       <span class="comment">// apparently.</span></div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>       <span class="keywordflow">if</span> (OTy->isObjCId() && Member-><a class="code" href="classclang_1_1IdentifierInfo.html#a6cc09d0b74aca49bbdb23bcc4c35cf82" title="Return true if this is the identifier for the specified string.">isStr</a>(<span class="stringliteral">"isa"</span>))</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>         <span class="keywordflow">return</span> Owned(<span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1ObjCIsaExpr.html">ObjCIsaExpr</a>(BaseExpr.take(), IsArrow, MemberLoc,</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>                                                OpLoc,</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>                                                <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#ade76e845ea190702bdf8e274c2aef90c" title="Represents the Objective-C Class type.">getObjCClassType</a>()));</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>       <span class="keywordflow">if</span> (<a class="code" href="SemaExprMember_8cpp.html#a2204f53ed814e3f6cb3c512f0c9ac412">ShouldTryAgainWithRedefinitionType</a>(*<span class="keyword">this</span>, BaseExpr))</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>         <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>                                 ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>       <span class="keywordflow">goto</span> fail;</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>     }</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>     </div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>     <span class="keywordflow">if</span> (RequireCompleteType(OpLoc, BaseType, diag::err_typecheck_incomplete_tag,</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>                             BaseExpr.get()))</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>     </div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>     <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *ClassDeclared = 0;</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>     <a class="code" href="classclang_1_1ObjCIvarDecl.html">ObjCIvarDecl</a> *IV = IDecl-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#a1a0c954cf7c0fbbf77b4bf65c5a5c604">lookupInstanceVariable</a>(Member, ClassDeclared);</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> </div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>     <span class="keywordflow">if</span> (!IV) {</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>       <span class="comment">// Attempt to correct for typos in ivar names.</span></div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>       <a class="code" href="classclang_1_1DeclFilterCCC.html" title="Simple template class for restricting typo correction candidates to ones having a single Decl* of the...">DeclFilterCCC<ObjCIvarDecl></a> Validator;</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>       Validator.<a class="code" href="classclang_1_1CorrectionCandidateCallback.html#adb3b0c665de5f0492f6d86be8261bda9">IsObjCIvarLookup</a> = IsArrow;</div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1TypoCorrection.html" title="Simple class containing the result of Sema::CorrectTypo.">TypoCorrection</a> Corrected = CorrectTypo(R.<a class="code" href="classclang_1_1LookupResult.html#a3c8df5e842b84094a77239c37c6231ae" title="Gets the name info to look up.">getLookupNameInfo</a>(),</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>                                                  LookupMemberName, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>,</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>                                                  Validator, IDecl)) {</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>         IV = Corrected.getCorrectionDeclAs<<a class="code" href="classclang_1_1ObjCIvarDecl.html">ObjCIvarDecl</a>>();</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>         diagnoseTypo(Corrected,</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>                      PDiag(diag::err_typecheck_member_reference_ivar_suggest)</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>                           << IDecl-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>() << MemberName);</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> </div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>         <span class="comment">// Figure out the class that declares the ivar.</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>         assert(!ClassDeclared);</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>         <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = cast<Decl>(IV-><a class="code" href="classclang_1_1Decl.html#af67e1a1d24dcc51093b95dbcf68d4288">getDeclContext</a>());</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCCategoryDecl.html">ObjCCategoryDecl</a> *CAT = dyn_cast<ObjCCategoryDecl>(D))</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>           D = CAT->getClassInterface();</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>         ClassDeclared = cast<ObjCInterfaceDecl>(D);</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>         <span class="keywordflow">if</span> (IsArrow && IDecl-><a class="code" href="classclang_1_1ObjCContainerDecl.html#af9e27df54a37f3414e0896d56a8c0b1f">FindPropertyDeclaration</a>(Member)) {</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>           <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, </div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>           diag::err_property_found_suggest)</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>           << Member << BaseExpr.get()->getType()</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>           << <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">FixItHint::CreateReplacement</a>(OpLoc, <span class="stringliteral">"."</span>);</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>           <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>         }</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> </div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>         <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::err_typecheck_member_reference_ivar)</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>           << IDecl-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>() << MemberName</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>           << BaseExpr.get()->getSourceRange();</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</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>     </div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>     assert(ClassDeclared);</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> </div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>     <span class="comment">// If the decl being referenced had an error, return an error for this</span></div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>     <span class="comment">// sub-expr without emitting another error, in order to avoid cascading</span></div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>     <span class="comment">// error cases.</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>     <span class="keywordflow">if</span> (IV-><a class="code" href="classclang_1_1Decl.html#a17ec912fd67469eea51741d45eb0c800">isInvalidDecl</a>())</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> </div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>     <span class="comment">// Check whether we can reference this field.</span></div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>     <span class="keywordflow">if</span> (DiagnoseUseOfDecl(IV, MemberLoc))</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>     <span class="keywordflow">if</span> (IV-><a class="code" href="classclang_1_1ObjCIvarDecl.html#a7f30051db17903f55c3519750886277a">getAccessControl</a>() != <a class="code" href="classclang_1_1ObjCIvarDecl.html#a6a902654b0b06d4a7392ab64a8ca3a9daf246d1b69208c10693eb0d3722350fc0">ObjCIvarDecl::Public</a> &&</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>         IV-><a class="code" href="classclang_1_1ObjCIvarDecl.html#a7f30051db17903f55c3519750886277a">getAccessControl</a>() != <a class="code" href="classclang_1_1ObjCIvarDecl.html#a6a902654b0b06d4a7392ab64a8ca3a9da6e3ec9b859a38f481125421b5d6f8c77">ObjCIvarDecl::Package</a>) {</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>       <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *ClassOfMethodDecl = 0;</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *MD = getCurMethodDecl())</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>         ClassOfMethodDecl =  MD->getClassInterface();</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ObjCImpDecl && getCurFunctionDecl()) {</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>         <span class="comment">// Case of a c-function declared inside an objc implementation.</span></div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>         <span class="comment">// FIXME: For a c-style function nested inside an objc implementation</span></div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>         <span class="comment">// class, there is no implementation context available, so we pass</span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>         <span class="comment">// down the context as argument to this routine. Ideally, this context</span></div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>         <span class="comment">// need be passed down in the AST node and somehow calculated from the</span></div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>         <span class="comment">// AST for a function decl.</span></div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCImplementationDecl.html">ObjCImplementationDecl</a> *IMPD =</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>               dyn_cast<ObjCImplementationDecl>(ObjCImpDecl))</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>           ClassOfMethodDecl = IMPD->getClassInterface();</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCCategoryImplDecl.html">ObjCCategoryImplDecl</a>* CatImplClass =</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>                    dyn_cast<ObjCCategoryImplDecl>(ObjCImpDecl))</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>           ClassOfMethodDecl = CatImplClass->getClassInterface();</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="keywordflow">if</span> (!getLangOpts().DebuggerSupport) {</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>         <span class="keywordflow">if</span> (IV-><a class="code" href="classclang_1_1ObjCIvarDecl.html#a7f30051db17903f55c3519750886277a">getAccessControl</a>() == <a class="code" href="classclang_1_1ObjCIvarDecl.html#a6a902654b0b06d4a7392ab64a8ca3a9da8f6f25fa365a12828014e00b885acd8e">ObjCIvarDecl::Private</a>) {</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>           <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang.html#ad9d926b16adbdbc93705737b69d47cae" title="Determine whether two declarations declare the same entity.">declaresSameEntity</a>(ClassDeclared, IDecl) ||</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>               !<a class="code" href="namespaceclang.html#ad9d926b16adbdbc93705737b69d47cae" title="Determine whether two declarations declare the same entity.">declaresSameEntity</a>(ClassOfMethodDecl, ClassDeclared))</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>             <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::error_private_ivar_access)</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>               << IV-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>();</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!IDecl-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#a475a3c7ebb9047da9464a1157789c1e1">isSuperClassOf</a>(ClassOfMethodDecl))</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>           <span class="comment">// @protected</span></div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>           <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::error_protected_ivar_access)</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>             << IV-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>();</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>       }</div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>     }</div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>     <span class="keywordtype">bool</span> warn = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>     <span class="keywordflow">if</span> (getLangOpts().ObjCAutoRefCount) {</div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>       <a class="code" href="classclang_1_1Expr.html">Expr</a> *BaseExp = BaseExpr.get()-><a class="code" href="classclang_1_1Expr.html#a54036c75e73ecdf081729210fa53e582">IgnoreParenImpCasts</a>();</div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *UO = dyn_cast<UnaryOperator>(BaseExp))</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>         <span class="keywordflow">if</span> (UO->getOpcode() == <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffa7fa8b49244d53a4c50b7d8e63257449e">UO_Deref</a>)</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>           BaseExp = UO->getSubExpr()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>       </div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1DeclRefExpr.html" title="A reference to a declared variable, function, enum, etc. [C99 6.5.1p2].">DeclRefExpr</a> *DE = dyn_cast<DeclRefExpr>(BaseExp))</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>         <span class="keywordflow">if</span> (DE->getType().getObjCLifetime() == <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="l01360"></a><span class="lineno"> 1360</span>           <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(DE->getLocation(), diag::error_arc_weak_ivar_access);</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>           warn = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>         }</div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>     }</div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>     <span class="keywordflow">if</span> (warn) {</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *MD = getCurMethodDecl()) {</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>         <a class="code" href="namespaceclang.html#a5dc786a6640e4d510cd8b68a5a87a140" title="A family of Objective-C methods.">ObjCMethodFamily</a> MF = MD->getMethodFamily();</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>         warn = (MF != <a class="code" href="namespaceclang.html#a5dc786a6640e4d510cd8b68a5a87a140a7749fb8107514089095277752fe75ece">OMF_init</a> && MF != <a class="code" href="namespaceclang.html#a5dc786a6640e4d510cd8b68a5a87a140a64eaf6dd57d06411366a75201a9f2850">OMF_dealloc</a> && </div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>                 MF != <a class="code" href="namespaceclang.html#a5dc786a6640e4d510cd8b68a5a87a140a5722533aab245d187223d468bc37f736">OMF_finalize</a> &&</div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>                 !IvarBacksCurrentMethodAccessor(IDecl, MD, IV));</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>       }</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>       <span class="keywordflow">if</span> (warn)</div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>         <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::warn_direct_ivar_access) << IV-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>();</div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>     }</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> </div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>     <a class="code" href="classclang_1_1ObjCIvarRefExpr.html" title="ObjCIvarRefExpr - A reference to an ObjC instance variable.">ObjCIvarRefExpr</a> *Result = <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1ObjCIvarRefExpr.html" title="ObjCIvarRefExpr - A reference to an ObjC instance variable.">ObjCIvarRefExpr</a>(IV, IV-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>(),</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>                                                             MemberLoc, OpLoc,</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>                                                             BaseExpr.take(),</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>                                                             IsArrow);</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">if</span> (getLangOpts().ObjCAutoRefCount) {</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>       <span class="keywordflow">if</span> (IV-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>().<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="l01382"></a><span class="lineno"> 1382</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="l01383"></a><span class="lineno"> 1383</span>           Diags.getDiagnosticLevel(diag::warn_arc_repeated_use_of_weak,</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>                                    MemberLoc);</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</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="l01386"></a><span class="lineno"> 1386</span>           recordUseOfEvaluatedWeak(Result);</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>       }</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>     }</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>     <span class="keywordflow">return</span> Owned(Result);</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>   }</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="comment">// Objective-C property access.</span></div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *OPT;</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>   <span class="keywordflow">if</span> (!IsArrow && (OPT = BaseType-><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="l01396"></a><span class="lineno"> 1396</span>     <span class="keywordflow">if</span> (!SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae92a40568ee6a10431af2437af862b07" title="No scope specifier.">isEmpty</a>() && !SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4470b2b22ffe903c05b83ba25d774652" title="An error occurred during parsing of the scope specifier.">isInvalid</a>()) {</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), diag::err_qualified_objc_access)</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>         << 0 << SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>()</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>         << <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">FixItHint::CreateRemoval</a>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>());</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>       SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ad0146caf0e994e6d5982566d622ff8f9">clear</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>     <span class="comment">// This actually uses the base as an r-value.</span></div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>     BaseExpr = DefaultLvalueConversion(BaseExpr.take());</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>     <span class="keywordflow">if</span> (BaseExpr.isInvalid())</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> </div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>     assert(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a40efa7d4fe133c0a709f0df4b6fcc2bf" title="Determine whether the given types are equivalent after cvr-qualifiers have been removed.">hasSameUnqualifiedType</a>(BaseType, BaseExpr.get()->getType()));</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> </div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Member = MemberName.getAsIdentifierInfo();</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> </div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *OT = OPT-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#abb391d91721464c0dc1eb15f333637a9">getObjectType</a>();</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> </div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>     <span class="comment">// id, with and without qualifiers.</span></div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>     <span class="keywordflow">if</span> (OT-><a class="code" href="classclang_1_1ObjCObjectType.html#ae18c2f18b07e28f2923d25694c0b153f">isObjCId</a>()) {</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>       <span class="comment">// Check protocols on qualified interfaces.</span></div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>       <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> Sel = PP.getSelectorTable().getNullarySelector(Member);</div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Decl.html">Decl</a> *PMDecl = <a class="code" href="SemaExprMember_8cpp.html#ae58304bf1184fda4a21d9cdf42767f8b">FindGetterSetterNameDecl</a>(OPT, Member, Sel, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>)) {</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</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> *PD = dyn_cast<ObjCPropertyDecl>(PMDecl)) {</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>           <span class="comment">// Check the use of this declaration</span></div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>           <span class="keywordflow">if</span> (DiagnoseUseOfDecl(PD, MemberLoc))</div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>             <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</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>           <span class="keywordflow">return</span> Owned(<span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a>(PD,</div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>                                                          <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a87abdcb929904305709de24d315f3c4e">PseudoObjectTy</a>,</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</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>,</div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>                                                          <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a515e545564007a6528858a9bc912232a">OK_ObjCProperty</a>,</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>                                                          MemberLoc, </div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>                                                          BaseExpr.take()));</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>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *OMD = dyn_cast<ObjCMethodDecl>(PMDecl)) {</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>           <span class="comment">// Check the use of this method.</span></div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>           <span class="keywordflow">if</span> (DiagnoseUseOfDecl(OMD, MemberLoc))</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>             <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>           <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> SetterSel =</div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>             <a class="code" href="classclang_1_1SelectorTable.html#a80ef9bc630a09be0a8dcbfd59b011ac0" title="Return the default setter selector for the given identifier.">SelectorTable::constructSetterSelector</a>(PP.getIdentifierTable(),</div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>                                                    PP.getSelectorTable(),</div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>                                                    Member);</div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>           <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *SMD = 0;</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>           <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Decl.html">Decl</a> *SDecl = <a class="code" href="SemaExprMember_8cpp.html#ae58304bf1184fda4a21d9cdf42767f8b">FindGetterSetterNameDecl</a>(OPT, <span class="comment">/*Property id*/</span>0, </div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>                                                      SetterSel, <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>))</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>             SMD = dyn_cast<ObjCMethodDecl>(SDecl);</div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>           </div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>           <span class="keywordflow">return</span> Owned(<span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a>(OMD, SMD,</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>                                                          <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a87abdcb929904305709de24d315f3c4e">PseudoObjectTy</a>,</div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</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#a3d9d0a7c294c4279add6b726bd3e2bb1a515e545564007a6528858a9bc912232a">OK_ObjCProperty</a>,</div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>                                                          MemberLoc, BaseExpr.take()));</div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>         }</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>       }</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>       <span class="comment">// Use of id.member can only be for a property reference. Do not</span></div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>       <span class="comment">// use the 'id' redefinition in this case.</span></div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>       <span class="keywordflow">if</span> (IsArrow && <a class="code" href="SemaExprMember_8cpp.html#a2204f53ed814e3f6cb3c512f0c9ac412">ShouldTryAgainWithRedefinitionType</a>(*<span class="keyword">this</span>, BaseExpr))</div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>         <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>                                 ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> </div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::err_property_not_found)</div>
+<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>                          << MemberName << BaseType);</div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>     }</div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> </div>
+<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>     <span class="comment">// 'Class', unqualified only.</span></div>
+<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>     <span class="keywordflow">if</span> (OT-><a class="code" href="classclang_1_1ObjCObjectType.html#a4c0774874411f66a0b6e9bb2dc48ab91">isObjCClass</a>()) {</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>       <span class="comment">// Only works in a method declaration (??!).</span></div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>       <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *MD = getCurMethodDecl();</div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>       <span class="keywordflow">if</span> (!MD) {</div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>         <span class="keywordflow">if</span> (<a class="code" href="SemaExprMember_8cpp.html#a2204f53ed814e3f6cb3c512f0c9ac412">ShouldTryAgainWithRedefinitionType</a>(*<span class="keyword">this</span>, BaseExpr))</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>           <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>                                   ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>         <span class="keywordflow">goto</span> fail;</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>       }</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> </div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>       <span class="comment">// Also must look for a getter name which uses property syntax.</span></div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>       <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> Sel = PP.getSelectorTable().getNullarySelector(Member);</div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>       <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IFace = MD-><a class="code" href="classclang_1_1ObjCMethodDecl.html#ae289a054485ee4d1d66b33e833e16091">getClassInterface</a>();</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>       <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *Getter;</div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>       <span class="keywordflow">if</span> ((Getter = IFace-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#afaeee0adc2fb09f1d7d84e59890267ba">lookupClassMethod</a>(Sel))) {</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>         <span class="comment">// Check the use of this method.</span></div>
+<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>         <span class="keywordflow">if</span> (DiagnoseUseOfDecl(Getter, MemberLoc))</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>           <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>       } <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>         Getter = IFace-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#ac1332a66d16b767c2ae573f7bd17d101" title="Lookup a method in the classes implementation hierarchy.">lookupPrivateMethod</a>(Sel, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>       <span class="comment">// If we found a getter then this may be a valid dot-reference, we</span></div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>       <span class="comment">// will look for the matching setter, in case it is needed.</span></div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>       <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> SetterSel =</div>
+<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>         <a class="code" href="classclang_1_1SelectorTable.html#a80ef9bc630a09be0a8dcbfd59b011ac0" title="Return the default setter selector for the given identifier.">SelectorTable::constructSetterSelector</a>(PP.getIdentifierTable(),</div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>                                                PP.getSelectorTable(),</div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>                                                Member);</div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>       <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *Setter = IFace-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#afaeee0adc2fb09f1d7d84e59890267ba">lookupClassMethod</a>(SetterSel);</div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>       <span class="keywordflow">if</span> (!Setter) {</div>
+<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>         <span class="comment">// If this reference is in an @implementation, also check for 'private'</span></div>
+<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>         <span class="comment">// methods.</span></div>
+<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>         Setter = IFace-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#ac1332a66d16b767c2ae573f7bd17d101" title="Lookup a method in the classes implementation hierarchy.">lookupPrivateMethod</a>(SetterSel, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>       }</div>
+<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> </div>
+<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>       <span class="keywordflow">if</span> (Setter && DiagnoseUseOfDecl(Setter, MemberLoc))</div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> </div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>       <span class="keywordflow">if</span> (Getter || Setter) {</div>
+<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>         <span class="keywordflow">return</span> Owned(<span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1ObjCPropertyRefExpr.html">ObjCPropertyRefExpr</a>(Getter, Setter,</div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>                                                        <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a87abdcb929904305709de24d315f3c4e">PseudoObjectTy</a>,</div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</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#a3d9d0a7c294c4279add6b726bd3e2bb1a515e545564007a6528858a9bc912232a">OK_ObjCProperty</a>,</div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>                                                        MemberLoc, BaseExpr.take()));</div>
+<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>       }</div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> </div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>       <span class="keywordflow">if</span> (<a class="code" href="SemaExprMember_8cpp.html#a2204f53ed814e3f6cb3c512f0c9ac412">ShouldTryAgainWithRedefinitionType</a>(*<span class="keyword">this</span>, BaseExpr))</div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>         <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>                                 ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> </div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>(<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(MemberLoc, diag::err_property_not_found)</div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>                          << MemberName << BaseType);</div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>     }</div>
+<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> </div>
+<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>     <span class="comment">// Normal property access.</span></div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>     <span class="keywordflow">return</span> HandleExprPropertyRefExpr(OPT, BaseExpr.get(), OpLoc, </div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>                                      MemberName, MemberLoc,</div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</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_1QualType.html">QualType</a>(), <span class="keyword">false</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> </div>
+<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>   <span class="comment">// Handle 'field access' to vectors, such as 'V.xx'.</span></div>
+<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>   <span class="keywordflow">if</span> (BaseType-><a class="code" href="classclang_1_1Type.html#aa46cb894fc6f6f4e43d48232b6129d0b">isExtVectorType</a>()) {</div>
+<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>     <span class="comment">// FIXME: this expr should store IsArrow.</span></div>
+<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Member = MemberName.getAsIdentifierInfo();</div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>     <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> VK = (IsArrow ? <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a> : BaseExpr.get()->getValueKind());</div>
+<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> ret = <a class="code" href="SemaExprMember_8cpp.html#a6f244fc31207d9571bb34181894efa74">CheckExtVectorComponent</a>(*<span class="keyword">this</span>, BaseType, VK, OpLoc,</div>
+<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>                                            Member, MemberLoc);</div>
+<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>     <span class="keywordflow">if</span> (ret.<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="l01528"></a><span class="lineno"> 1528</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> </div>
+<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>     <span class="keywordflow">return</span> Owned(<span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1ExtVectorElementExpr.html">ExtVectorElementExpr</a>(ret, VK, BaseExpr.take(),</div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>                                                     *Member, MemberLoc));</div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>   }</div>
+<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> </div>
+<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>   <span class="comment">// Adjust builtin-sel to the appropriate redefinition type if that's</span></div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>   <span class="comment">// not just a pointer to builtin-sel again.</span></div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>   <span class="keywordflow">if</span> (IsArrow &&</div>
+<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>       BaseType-><a class="code" href="classclang_1_1Type.html#a80b0e59f59905a7a1d564a0b3768f04d" title="isSpecificBuiltinType - Test for a particular builtin type.">isSpecificBuiltinType</a>(BuiltinType::ObjCSel) &&</div>
+<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>       !<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a135de567d3745d08562d3d9f7d472ed5" title="Retrieve the type that 'SEL' has been defined to, which may be different from the built-in 'SEL' if '...">getObjCSelRedefinitionType</a>()-><a class="code" href="classclang_1_1Type.html#ae216e38f4426675ac45ff7b6e9e52939">isObjCSelType</a>()) {</div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>     BaseExpr = ImpCastExprToType(BaseExpr.take(), </div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>                                  <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a135de567d3745d08562d3d9f7d472ed5" title="Retrieve the type that 'SEL' has been defined to, which may be different from the built-in 'SEL' if '...">getObjCSelRedefinitionType</a>(),</div>
+<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>                                  <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca183b8948b82911a415cc54446ddcb3ab">CK_BitCast</a>);</div>
+<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>     <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>                             ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>   }</div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> </div>
+<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>   <span class="comment">// Failure cases.</span></div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>  fail:</div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> </div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>   <span class="comment">// Recover from dot accesses to pointers, e.g.:</span></div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>   <span class="comment">//   type *foo;</span></div>
+<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>   <span class="comment">//   foo.bar</span></div>
+<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>   <span class="comment">// This is actually well-formed in two cases:</span></div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>   <span class="comment">//   - 'type' is an Objective C type</span></div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>   <span class="comment">//   - 'bar' is a pseudo-destructor name which happens to refer to</span></div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>   <span class="comment">//     the appropriate pointer type</span></div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *Ptr = BaseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()) {</div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>     <span class="keywordflow">if</span> (!IsArrow && Ptr->getPointeeType()->isRecordType() &&</div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>         MemberName.getNameKind() != <a class="code" href="classclang_1_1DeclarationName.html#a9ab322d434446b43379d39e41af5cbe3a3dd601f149fac45969958b93199092dc">DeclarationName::CXXDestructorName</a>) {</div>
+<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>       <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(OpLoc, diag::err_typecheck_member_reference_suggestion)</div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>         << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()</div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>           << <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">FixItHint::CreateReplacement</a>(OpLoc, <span class="stringliteral">"->"</span>);</div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> </div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>       <span class="comment">// Recurse as an -> access.</span></div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>       IsArrow = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>       <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>                               ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>     }</div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>   }</div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> </div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>   <span class="comment">// If the user is trying to apply -> or . to a function name, it's probably</span></div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>   <span class="comment">// because they forgot parentheses to call that function.</span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>   <span class="keywordflow">if</span> (tryToRecoverWithCall(BaseExpr,</div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>                            PDiag(diag::err_member_reference_needs_call),</div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>                            <span class="comment">/*complain*/</span> <span class="keyword">false</span>,</div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>                            IsArrow ? &<a class="code" href="SemaExprMember_8cpp.html#a29d996afa023b3358f44cfb05c25bca5">isPointerToRecordType</a> : &<a class="code" href="SemaExprMember_8cpp.html#a5b32f1f5458cdcce08266b011ebd034b">isRecordType</a>)) {</div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>     <span class="keywordflow">if</span> (BaseExpr.isInvalid())</div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>     BaseExpr = DefaultFunctionArrayConversion(BaseExpr.take());</div>
+<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>     <span class="keywordflow">return</span> LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,</div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>                             ObjCImpDecl, HasTemplateArgs);</div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>   }</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> </div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>   <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>(OpLoc, diag::err_typecheck_member_reference_struct_union)</div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>     << BaseType << BaseExpr.get()->getSourceRange() << MemberLoc;</div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> </div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> }</div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="comment"></span></div>
+<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> <span class="comment">/// The main callback when the parser finds something like</span></div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> <span class="comment">///   expression . [nested-name-specifier] identifier</span></div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="comment">///   expression -> [nested-name-specifier] identifier</span></div>
+<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="comment">/// where 'identifier' encompasses a fairly broad spectrum of</span></div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <span class="comment">/// possibilities, including destructor and operator references.</span></div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> <span class="comment">/// \param OpKind either tok::arrow or tok::period</span></div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="comment">/// \param HasTrailingLParen whether the next token is '(', which</span></div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="comment">///   is used to diagnose mis-uses of special members that can</span></div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> <span class="comment">///   only be called</span></div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="comment">/// \param ObjCImpDecl the current Objective-C \@implementation</span></div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="comment">///   decl; this is an ugly hack around the fact that Objective-C</span></div>
+<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="comment">///   \@implementations aren't properly put in the context chain</span></div>
+<div class="line"><a name="l01602"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a67b1bfa5f005492236ea16f0b5b0a8be"> 1602</a></span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1Sema.html#a67b1bfa5f005492236ea16f0b5b0a8be">Sema::ActOnMemberAccessExpr</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_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l01603"></a><span class="lineno"> 1603</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="l01604"></a><span class="lineno"> 1604</span>                                        <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> OpKind,</div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</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="l01606"></a><span class="lineno"> 1606</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="l01607"></a><span class="lineno"> 1607</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="l01608"></a><span class="lineno"> 1608</span>                                        <a class="code" href="classclang_1_1Decl.html">Decl</a> *ObjCImpDecl,</div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>                                        <span class="keywordtype">bool</span> HasTrailingLParen) {</div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>   <span class="keywordflow">if</span> (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>() && SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4470b2b22ffe903c05b83ba25d774652" title="An error occurred during parsing of the scope specifier.">isInvalid</a>())</div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> </div>
+<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>   <span class="comment">// Warn about the explicit constructor calls Microsoft extension.</span></div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>   <span class="keywordflow">if</span> (getLangOpts().MicrosoftExt &&</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>       Id.<a class="code" href="classclang_1_1UnqualifiedId.html#afe84a760cca9962b8873d220aaa0a479" title="Determine what kind of name we have.">getKind</a>() == <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba254f2b89641948cd1176189d972993bf" title="A constructor name.">UnqualifiedId::IK_ConstructorName</a>)</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</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#a79268390f0aa348edea4ee6041aa256d" title="Return the source range that covers this unqualified-id.">getSourceRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(),</div>
+<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>          diag::ext_ms_explicit_constructor_call);</div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> </div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>   <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> TemplateArgsBuffer;</div>
+<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div>
+<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>   <span class="comment">// Decompose the name into its component parts.</span></div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>   <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> NameInfo;</div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs;</div>
+<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>   DecomposeUnqualifiedId(Id, TemplateArgsBuffer,</div>
+<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>                          NameInfo, TemplateArgs);</div>
+<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> </div>
+<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>   <a class="code" href="classclang_1_1DeclarationName.html">DeclarationName</a> Name = NameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a4a662304441c06d60ec1764e515337c4" title="getName - Returns the embedded declaration name.">getName</a>();</div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>   <span class="keywordtype">bool</span> IsArrow = (OpKind == tok::arrow);</div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> </div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>   <a class="code" href="classclang_1_1NamedDecl.html">NamedDecl</a> *FirstQualifierInScope</div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>     = (!SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>() ? 0 : FindFirstQualifierInScope(S,</div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>                        static_cast<NestedNameSpecifier*>(SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>())));</div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> </div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>   <span class="comment">// This is a postfix expression, so get rid of ParenListExprs.</span></div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> Result = MaybeConvertParenListExprToParenExpr(S, Base);</div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</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="l01637"></a><span class="lineno"> 1637</span>   Base = Result.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> </div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>   <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>() || Name.<a class="code" href="classclang_1_1DeclarationName.html#af67a8f446f13b46fb722e936681a77eb" title="Determines whether the name itself is dependent, e.g., because it involves a C++ type that is itself ...">isDependentName</a>() ||</div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>       isDependentScopeSpecifier(SS)) {</div>
+<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>     Result = ActOnDependentMemberExpr(Base, Base-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>                                       IsArrow, OpLoc,</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>                                       SS, TemplateKWLoc, FirstQualifierInScope,</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>                                       NameInfo, TemplateArgs);</div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>     <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> R(*<span class="keyword">this</span>, NameInfo, LookupMemberName);</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>     <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1ActionResult.html">BaseResult</a> = Owned(Base);</div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>     Result = LookupMemberExpr(R, BaseResult, IsArrow, OpLoc,</div>
+<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>                               SS, ObjCImpDecl, TemplateArgs != 0);</div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>     <span class="keywordflow">if</span> (BaseResult.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>())</div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>     Base = BaseResult.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>();</div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> </div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>     <span class="keywordflow">if</span> (Result.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>()) {</div>
+<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>       Owned(Base);</div>
+<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>       <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>     }</div>
+<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> </div>
+<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>     <span class="keywordflow">if</span> (Result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>()) {</div>
+<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>       <span class="comment">// The only way a reference to a destructor can be used is to</span></div>
+<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>       <span class="comment">// immediately call it, which falls into this case.  If the</span></div>
+<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>       <span class="comment">// next token is not a '(', produce a diagnostic and build the</span></div>
+<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>       <span class="comment">// call now.</span></div>
+<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>       <span class="keywordflow">if</span> (!HasTrailingLParen &&</div>
+<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>           Id.<a class="code" href="classclang_1_1UnqualifiedId.html#afe84a760cca9962b8873d220aaa0a479" title="Determine what kind of name we have.">getKind</a>() == <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11bab6c68b3724b7a3219cb37a648a3ca353" title="A destructor name.">UnqualifiedId::IK_DestructorName</a>)</div>
+<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>         <span class="keywordflow">return</span> DiagnoseDtorReference(NameInfo.<a class="code" href="structclang_1_1DeclarationNameInfo.html#a47f8f8d3dab3d4ae666ac99f15b58b02" title="getLoc - Returns the main location of the declaration name.">getLoc</a>(), Result.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>());</div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> </div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>       <span class="keywordflow">return</span> Result;</div>
+<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>     }</div>
+<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> </div>
+<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>     <a class="code" href="structclang_1_1Sema_1_1ActOnMemberAccessExtraArgs.html">ActOnMemberAccessExtraArgs</a> ExtraArgs = {<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, Id, ObjCImpDecl, HasTrailingLParen};</div>
+<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>     Result = BuildMemberReferenceExpr(Base, Base-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>(),</div>
+<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>                                       OpLoc, IsArrow, SS, TemplateKWLoc,</div>
+<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>                                       FirstQualifierInScope, R, TemplateArgs,</div>
+<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>                                       <span class="keyword">false</span>, &ExtraArgs);</div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>   }</div>
+<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> </div>
+<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>   <span class="keywordflow">return</span> Result;</div>
+<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> }</div>
+<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> </div>
+<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="keyword">static</span> <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l01682"></a><span class="lineno"><a class="code" href="SemaExprMember_8cpp.html#a3473a90a97fb8eb0849bd494915bcdde"> 1682</a></span> <a class="code" href="SemaExprMember_8cpp.html#a3473a90a97fb8eb0849bd494915bcdde">BuildFieldReferenceExpr</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> *BaseExpr, <span class="keywordtype">bool</span> IsArrow,</div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>                         <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> &SS, <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *Field,</div>
+<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>                         <a class="code" href="classclang_1_1DeclAccessPair.html">DeclAccessPair</a> FoundDecl,</div>
+<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>                         <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclarationNameInfo.html">DeclarationNameInfo</a> &MemberNameInfo) {</div>
+<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>   <span class="comment">// x.a is an l-value if 'a' has a reference type. Otherwise:</span></div>
+<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>   <span class="comment">// x.a is an l-value/x-value/pr-value if the base is (and note</span></div>
+<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>   <span class="comment">//   that *x is always an l-value), except that if the base isn't</span></div>
+<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>   <span class="comment">//   an ordinary object then we must have an rvalue.</span></div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>   <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340" title="The categorization of expression values, currently following the C++11 scheme.">ExprValueKind</a> VK = <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a>;</div>
+<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>   <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1" title="A further classification of the kind of object referenced by an l-value or x-value.">ExprObjectKind</a> OK = <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="l01692"></a><span class="lineno"> 1692</span>   <span class="keywordflow">if</span> (!IsArrow) {</div>
+<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>     <span class="keywordflow">if</span> (BaseExpr-><a class="code" href="classclang_1_1Expr.html#a6fd3892ddf8334fc9b311daaa93a27f5">getObjectKind</a>() == <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="l01694"></a><span class="lineno"> 1694</span>       VK = BaseExpr-><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="l01695"></a><span class="lineno"> 1695</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>       VK = <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>;</div>
+<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>   }</div>
+<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>   <span class="keywordflow">if</span> (VK != <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> && Field-><a class="code" href="classclang_1_1FieldDecl.html#af8c123e193d426f26496c15e2f168a49" title="isBitfield - Determines whether this field is a bitfield.">isBitField</a>())</div>
+<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>     OK = <a class="code" href="namespaceclang.html#a3d9d0a7c294c4279add6b726bd3e2bb1a9055ba3536b1c12453fbc1c170ed314f" title="A bitfield object is a bitfield on a C or C++ record.">OK_BitField</a>;</div>
+<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>   </div>
+<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>   <span class="comment">// Figure out the type of the member; see C99 6.5.2.3p3, C++ [expr.ref]</span></div>
+<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> MemberType = Field-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>();</div>
+<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ReferenceType.html">ReferenceType</a> *Ref = MemberType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ReferenceType.html">ReferenceType</a>>()) {</div>
+<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>     MemberType = Ref-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>     VK = <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a>;</div>
+<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> BaseType = BaseExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>     <span class="keywordflow">if</span> (IsArrow) BaseType = BaseType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()->getPointeeType();</div>
+<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> </div>
+<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>     <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> BaseQuals = BaseType.<a class="code" href="classclang_1_1QualType.html#a4a3d75cf019a2e769498ef8d6878888b" title="Retrieve the set of qualifiers applied to this type.">getQualifiers</a>();</div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> </div>
+<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>     <span class="comment">// GC attributes are never picked up by members.</span></div>
+<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>     BaseQuals.<a class="code" href="classclang_1_1Qualifiers.html#a603b7e8eeb31d10e73c757eb4a7ca813">removeObjCGCAttr</a>();</div>
+<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> </div>
+<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>     <span class="comment">// CVR attributes from the base are picked up by members,</span></div>
+<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>     <span class="comment">// except that 'mutable' members don't pick up 'const'.</span></div>
+<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>     <span class="keywordflow">if</span> (Field-><a class="code" href="classclang_1_1FieldDecl.html#a24d01ef63ff78b23df6a4f17f6a02527" title="isMutable - Determines whether this field is mutable (C++ only).">isMutable</a>()) BaseQuals.<a class="code" href="classclang_1_1Qualifiers.html#a6e54373de505039b0d865a3199d6cbd5">removeConst</a>();</div>
+<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> </div>
+<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>     <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> MemberQuals</div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>     = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a7e70bb7eebf01548a0cab752e390ba37" title="Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...">getCanonicalType</a>(MemberType).<a class="code" href="classclang_1_1CanQual.html#a00e8d09cb751e6973746af70646da639" title="Retrieve all qualifiers.">getQualifiers</a>();</div>
+<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> </div>
+<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>     assert(!MemberQuals.<a class="code" href="classclang_1_1Qualifiers.html#ad295c64f93a74e7533546962903f67ce">hasAddressSpace</a>());</div>
+<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> </div>
+<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> </div>
+<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>     <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> Combined = BaseQuals + MemberQuals;</div>
+<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>     <span class="keywordflow">if</span> (Combined != MemberQuals)</div>
+<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>       MemberType = S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a1995e62dee79876059ef940d76a38983" title="Un-split a SplitQualType.">getQualifiedType</a>(MemberType, Combined);</div>
+<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>   }</div>
+<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> </div>
+<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>   S.<a class="code" href="classclang_1_1Sema.html#a71c389aadff3751f23172f78b4b86948" title="Set containing all declared private fields that are not used.">UnusedPrivateFields</a>.remove(Field);</div>
+<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> </div>
+<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="classclang_1_1Base.html">Base</a> =</div>
+<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>   S.<a class="code" href="classclang_1_1Sema.html#ae5c238c1a592dd03ccbd9cf4587d8a8d" title="Cast a base object to a member's actual type.">PerformObjectMemberConversion</a>(BaseExpr, SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>(),</div>
+<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>                                   FoundDecl, Field);</div>
+<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>   <span class="keywordflow">if</span> (Base.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>())</div>
+<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ae224fb900de5598d2c22f31c0ccea7">ExprError</a>();</div>
+<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>   <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1Sema.html#ae88e27735e88a2d4ef2d863eab8865ba">Owned</a>(<a class="code" href="SemaExprMember_8cpp.html#aec6106693249688b3d7b4da481408614" title="Build a MemberExpr AST node.">BuildMemberExpr</a>(S, S.<a class="code" href="classclang_1_1Sema.html#a3ccddacb1f4f71b084296175cc9e5b0e">Context</a>, Base.<a class="code" href="classclang_1_1ActionResult.html#a938165c101b60e87ee1956ed4950fd9a">take</a>(), IsArrow, SS,</div>
+<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>                                  <span class="comment">/*TemplateKWLoc=*/</span><a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>                                  Field, FoundDecl, MemberNameInfo,</div>
+<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>                                  MemberType, VK, OK));</div>
+<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> }</div>
+<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> <span class="comment"></span></div>
+<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> <span class="comment">/// Builds an implicit member access expression.  The current context</span></div>
+<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <span class="comment">/// is known to be an instance method, and the given unqualified lookup</span></div>
+<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> <span class="comment">/// set is known to contain only instance members, at least one of which</span></div>
+<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> <span class="comment">/// is from an appropriate type.</span></div>
+<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <span class="comment"></span><a class="code" href="classclang_1_1ActionResult.html">ExprResult</a></div>
+<div class="line"><a name="l01748"></a><span class="lineno"><a class="code" href="classclang_1_1Sema.html#a73d74b583903eaf916520feb51ba8574"> 1748</a></span> <a class="code" href="classclang_1_1Sema.html#a73d74b583903eaf916520feb51ba8574">Sema::BuildImplicitMemberExpr</a>(<span class="keyword">const</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="l01749"></a><span class="lineno"> 1749</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="l01750"></a><span class="lineno"> 1750</span>                               <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> &R,</div>
+<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>                               <span class="keyword">const</span> <a class="code" href="classclang_1_1TemplateArgumentListInfo.html">TemplateArgumentListInfo</a> *TemplateArgs,</div>
+<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>                               <span class="keywordtype">bool</span> IsKnownInstance) {</div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>   assert(!R.<a class="code" href="classclang_1_1LookupResult.html#a9f44c1cd9d9c7e84dd0202538dd72cd7" title="Return true if no decls were found.">empty</a>() && !R.<a class="code" href="classclang_1_1LookupResult.html#ad40ced676b01c7ef20a8a3612869bf54">isAmbiguous</a>());</div>
+<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>   </div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</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="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a> = R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>();</div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>   </div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>   <span class="comment">// We may have found a field within an anonymous union or struct</span></div>
+<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>   <span class="comment">// (C++ [class.union]).</span></div>
+<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>   <span class="comment">// FIXME: template-ids inside anonymous structs?</span></div>
+<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a> *FD = R.<a class="code" href="classclang_1_1LookupResult.html#a94bcf1d27520ce8a3a9603e76dd4acee">getAsSingle</a><<a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a>>())</div>
+<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>     <span class="keywordflow">return</span> BuildAnonymousStructUnionMemberReference(SS, R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>(), FD,</div>
+<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>                                                     R.<a class="code" href="classclang_1_1LookupResult.html#a460debe22c59694c326b3c4671726889">begin</a>().<a class="code" href="classclang_1_1UnresolvedSetIterator.html#a8d31ef55bb8da11b7f0a6a4af9c764c9">getPair</a>());</div>
+<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>   </div>
+<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>   <span class="comment">// If this is known to be an instance access, go ahead and build an</span></div>
+<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>   <span class="comment">// implicit 'this' expression now.</span></div>
+<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>   <span class="comment">// 'this' expression now.</span></div>
+<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> ThisTy = getCurrentThisType();</div>
+<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>   assert(!ThisTy.isNull() && <span class="stringliteral">"didn't correctly pre-flight capture of 'this'"</span>);</div>
+<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>   </div>
+<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *baseExpr = 0; <span class="comment">// null signifies implicit access</span></div>
+<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>   <span class="keywordflow">if</span> (IsKnownInstance) {</div>
+<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>     <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = R.<a class="code" href="classclang_1_1LookupResult.html#af980e0b636ede7d9e0018dff05b0d269">getNameLoc</a>();</div>
+<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>     <span class="keywordflow">if</span> (SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#acdaac0809b0eec9ce9ec88e1a9da7fb6">isValid</a>())</div>
+<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>       Loc = SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>();</div>
+<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>     CheckCXXThisCapture(Loc);</div>
+<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>     baseExpr = <span class="keyword">new</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <a class="code" href="classclang_1_1CXXThisExpr.html" title="Represents the this expression in C++.">CXXThisExpr</a>(loc, ThisTy, <span class="comment">/*isImplicit=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>   }</div>
+<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>   </div>
+<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>   <span class="keywordflow">return</span> BuildMemberReferenceExpr(baseExpr, ThisTy,</div>
+<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>                                   <span class="comment">/*OpLoc*/</span> <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(),</div>
+<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>                                   <span class="comment">/*IsArrow*/</span> <span class="keyword">true</span>,</div>
+<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>                                   SS, TemplateKWLoc,</div>
+<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>                                   <span class="comment">/*FirstQualifierInScope*/</span> 0,</div>
+<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>                                   R, TemplateArgs);</div>
+<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:05 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/SemaExprMember_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprMember_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprMember_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SemaExprMember_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,589 @@
+<!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: SemaExprMember.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">SemaExprMember.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SemaExprMember_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/SemaExprMember.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Sema/Release+Asserts/SemaExprMember.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SemaExprMember.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/ASTLambda.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.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>/Preprocessor.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.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>/Lexer.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>/PreprocessorLexer.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>/MultipleIncludeOpt.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>/MacroInfo.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>/ModuleMap.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>/PPCallbacks.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>/DirectoryLookup.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>/Pragma.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>/PTHLexer.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>/PTHManager.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>/TokenLexer.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Lookup.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Scope.h</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaInternal.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.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/AST/DeclNodes.inc:</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/StmtNodes.inc:</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/TypeNodes.def:</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/Decl.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/APValue.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.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/SmallVector.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/Support/AlignOf.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/Support/Compiler.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/Config/llvm-config.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/Support/MathExtras.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/SwapByteOrder.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.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/PointerLikeTypeTraits.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/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.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/Basic/OperatorKinds.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/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.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/TokenKinds.def:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.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/ADT/IntrusiveRefCntPtr.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/DiagnosticCommonKinds.inc:</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/DiagnosticOptions.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/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> /home/tstellar/llvm/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="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.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/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.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/AST/CharUnits.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/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.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/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.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/TemplateName.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/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="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/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="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/Optional.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/AST/BuiltinTypes.def:</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/Support/raw_ostream.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/Support/FileSystem.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.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/TemplateBase.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/TypeLoc.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/TypeLocNodes.def:</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/AST/CanonicalType.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/CommentCommandTraits.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/Basic/CommentOptions.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/CommentCommandList.inc:</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/PrettyPrinter.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/Basic/LangOptions.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/ObjCRuntime.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/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> /home/tstellar/llvm/include/llvm/ADT/Triple.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/Sanitizers.def:</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/LangOptions.def:</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/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.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/SourceManager.h:</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.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/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.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/AST/Attr.h:</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc:</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/include/llvm/ADT/StringSwitch.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/Attrs.inc:</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/AST/Expr.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/AST/ASTVector.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.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/OperationKinds.h:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.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/Basic/TypeTraits.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/Basic/Builtins.def:</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/ExprObjC.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/AST/DeclObjC.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/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="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/AST/MangleNumberingContext.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.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/Basic/ExpressionTraits.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/Basic/OpenMPKinds.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/Basic/OpenMPKinds.def:</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/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Module.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/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.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/Sema/AnalysisBasedWarnings.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/Sema/DeclSpec.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> /home/tstellar/llvm/tools/clang/lib/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="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/AttributeList.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/Ownership.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/Sema/AttrParsedAttrList.inc:</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/Sema/ExternalSemaSource.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/TypoCorrection.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/AST/DeclCXX.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/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.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/AST/ExprCXX.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/Sema/Weak.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/include/llvm/ADT/MapVector.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/Sema/IdentifierResolver.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/Sema/LocInfoType.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/ObjCMethodList.h:</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.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/include/llvm/MC/MCParser/MCAsmParser.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/include/llvm/MC/MCParser/AsmLexer.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/include/llvm/MC/MCParser/MCAsmLexer.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/include/llvm/Support/SMLoc.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTLambda.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclTemplate.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.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/Builtins.h:</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.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>/ModuleMap.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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>/DirectoryLookup.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>/Pragma.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>/PTHLexer.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>/PTHManager.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>/TokenLexer.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/Sema/Lookup.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/Sema/Scope.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:05 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>





More information about the llvm-commits mailing list