[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/DeclSpec_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1264 @@
+<!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: DeclSpec.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">DeclSpec.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="DeclSpec_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">//===--- SemaDeclSpec.cpp - Declaration Specifier Semantic Analysis -------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file implements semantic analysis for declaration specifiers.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="DeclSpec_8h.html" title="This file defines the classes used to store parsed information about declaration-specifiers and decla...">clang/Sema/DeclSpec.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="ASTContext_8h.html" title="Defines the clang::ASTContext interface.">clang/AST/ASTContext.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</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="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="Expr_8h.html">clang/AST/Expr.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="NestedNameSpecifier_8h.html">clang/AST/NestedNameSpecifier.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="TypeLoc_8h.html" title="Defines the clang::TypeLoc interface and its subclasses.">clang/AST/TypeLoc.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="LangOptions_8h.html" title="Defines the clang::LangOptions interface.">clang/Basic/LangOptions.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="ParseDiagnostic_8h.html">clang/Parse/ParseDiagnostic.h</a>"</span> <span class="comment">// FIXME: remove this back-dependency!</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="LocInfoType_8h.html">clang/Sema/LocInfoType.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "<a class="code" href="ParsedTemplate_8h.html">clang/Sema/ParsedTemplate.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "<a class="code" href="Sema_8h.html">clang/Sema/Sema.h</a>"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "<a class="code" href="SemaDiagnostic_8h.html">clang/Sema/SemaDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/ADT/STLExtras.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include "llvm/Support/ErrorHandling.h"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="preprocessor">#include <cstring></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">   34</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &D, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>                               <span class="keywordtype">unsigned</span> DiagID) {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keywordflow">return</span> D.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(Loc, DiagID);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> }</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a9d34677f19a8977b71732cf10f383380">   40</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a9d34677f19a8977b71732cf10f383380" title="Specify that this unqualified-id was parsed as a template-id.">UnqualifiedId::setTemplateId</a>(<a class="code" href="structclang_1_1TemplateIdAnnotation.html" title="Information about a template-id annotation token.">TemplateIdAnnotation</a> *TemplateId) {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   assert(TemplateId && <span class="stringliteral">"NULL template-id annotation?"</span>);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba1fa17f9404850cf66dacb34bd91f9be4" title="A template-id, e.g., f<int>.">IK_TemplateId</a>;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   this->TemplateId = <a class="code" href="classclang_1_1UnqualifiedId.html#afb6aa425ddb66533db9a8c6602ea8e32" title="When Kind == IK_TemplateId or IK_ConstructorTemplateId, the template-id annotation that contains the ...">TemplateId</a>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = TemplateId-><a class="code" href="structclang_1_1TemplateIdAnnotation.html#a6e495b35c0172af7838719f98b6296d9">TemplateNameLoc</a>;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = TemplateId-><a class="code" href="structclang_1_1TemplateIdAnnotation.html#a7b7282dfba3c5a11304e3e96495f2300">RAngleLoc</a>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> }</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#ab701df07f8fdec38bcd3095e35bdede9">   48</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#ab701df07f8fdec38bcd3095e35bdede9" title="Specify that this unqualified-id was parsed as a template-id that names a constructor.">UnqualifiedId::setConstructorTemplateId</a>(<a class="code" href="structclang_1_1TemplateIdAnnotation.html" title="Information about a template-id annotation token.">TemplateIdAnnotation</a> *TemplateId) {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   assert(TemplateId && <span class="stringliteral">"NULL template-id annotation?"</span>);</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba08e7e497c921c64dc93a2066c913def7" title="A constructor named via a template-id.">IK_ConstructorTemplateId</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   this->TemplateId = <a class="code" href="classclang_1_1UnqualifiedId.html#afb6aa425ddb66533db9a8c6602ea8e32" title="When Kind == IK_TemplateId or IK_ConstructorTemplateId, the template-id annotation that contains the ...">TemplateId</a>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = TemplateId-><a class="code" href="structclang_1_1TemplateIdAnnotation.html#a6e495b35c0172af7838719f98b6296d9">TemplateNameLoc</a>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = TemplateId-><a class="code" href="structclang_1_1TemplateIdAnnotation.html#a7b7282dfba3c5a11304e3e96495f2300">RAngleLoc</a>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf">   56</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">CXXScopeSpec::Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <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="l00057"></a><span class="lineno">   57</span>                           <a class="code" href="classclang_1_1TypeLoc.html" title="Base wrapper for a particular "section" of type source info.">TypeLoc</a> TL, <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> ColonColonLoc) {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abb9cf72b44d06a7d1f2eaffc4f8df767" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(Context, TemplateKWLoc, TL, ColonColonLoc);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(TL.<a class="code" href="classclang_1_1TypeLoc.html#ae2d52812c218de89646d554ea4fc69b8" title="Get the begin source location.">getBeginLoc</a>());</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(ColonColonLoc);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   assert(Range == Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a8ce6ff4032b67e9e3b8aa235a84ea6c7" title="Retrieve the source range covered by this nested-name-specifier.">getSourceRange</a>() &&</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>          <span class="stringliteral">"NestedNameSpecifierLoc range computation incorrect"</span>);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> }</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#ae6043c7bf504fa54594d567f1642bf84">   67</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">CXXScopeSpec::Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Identifier,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</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="structclang_1_1IdentifierLoc.html" title="Wraps an identifier and optional source location for the identifier.">IdentifierLoc</a>, </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</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> ColonColonLoc) {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abb9cf72b44d06a7d1f2eaffc4f8df767" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(Context, Identifier, IdentifierLoc, ColonColonLoc);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(IdentifierLoc);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>   Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(ColonColonLoc);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>   assert(Range == Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a8ce6ff4032b67e9e3b8aa235a84ea6c7" title="Retrieve the source range covered by this nested-name-specifier.">getSourceRange</a>() &&</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>          <span class="stringliteral">"NestedNameSpecifierLoc range computation incorrect"</span>);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> }</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a6aacd56b046f9ad2fbf8abba5cbeb6ad">   80</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">CXXScopeSpec::Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1NamespaceDecl.html" title="NamespaceDecl - Represent a C++ namespace.">NamespaceDecl</a> *Namespace,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</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> NamespaceLoc, </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>                           <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> ColonColonLoc) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abb9cf72b44d06a7d1f2eaffc4f8df767" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(Context, Namespace, NamespaceLoc, ColonColonLoc);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(NamespaceLoc);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(ColonColonLoc);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   assert(Range == Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a8ce6ff4032b67e9e3b8aa235a84ea6c7" title="Retrieve the source range covered by this nested-name-specifier.">getSourceRange</a>() &&</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>          <span class="stringliteral">"NestedNameSpecifierLoc range computation incorrect"</span>);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> }</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a7bbd567c41ec4d8f8bcb7cbb8b7abb53">   93</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">CXXScopeSpec::Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1NamespaceAliasDecl.html" title="Represents a C++ namespace alias.">NamespaceAliasDecl</a> *Alias,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</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> AliasLoc, </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</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> ColonColonLoc) {</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abb9cf72b44d06a7d1f2eaffc4f8df767" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(Context, Alias, AliasLoc, ColonColonLoc);</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="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>     Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(AliasLoc);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(ColonColonLoc);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   assert(Range == Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a8ce6ff4032b67e9e3b8aa235a84ea6c7" title="Retrieve the source range covered by this nested-name-specifier.">getSourceRange</a>() &&</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>          <span class="stringliteral">"NestedNameSpecifierLoc range computation incorrect"</span>);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> }</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a639acf1db7b545573c88acddeef0e870">  106</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a639acf1db7b545573c88acddeef0e870" title="Turn this (empty) nested-name-specifier into the global nested-name-specifier '::'.">CXXScopeSpec::MakeGlobal</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</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> ColonColonLoc) {</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#aebaed21592ebe5107ea275a1d40a61b1" title="Turn this (empty) nested-name-specifier into the global nested-name-specifier '::'.">MakeGlobal</a>(Context, ColonColonLoc);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>   </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   Range = <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(ColonColonLoc);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   assert(Range == Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a8ce6ff4032b67e9e3b8aa235a84ea6c7" title="Retrieve the source range covered by this nested-name-specifier.">getSourceRange</a>() &&</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>          <span class="stringliteral">"NestedNameSpecifierLoc range computation incorrect"</span>);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> }</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a2faa6035e14578c0845352f27f6203be">  116</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a2faa6035e14578c0845352f27f6203be" title="Make a new nested-name-specifier from incomplete source-location information.">CXXScopeSpec::MakeTrivial</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                                <a class="code" href="classclang_1_1NestedNameSpecifier.html" title="Represents a C++ nested name specifier, such as "\::std::vector<int>::".">NestedNameSpecifier</a> *Qualifier, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> R) {</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a16c9739d098da7fac67dfe4daa055525" title="Make a new nested-name-specifier from incomplete source-location information.">MakeTrivial</a>(Context, Qualifier, R);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   Range = R;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> }</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#affaa2c51e158af0922be6e03da14a04c">  122</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#affaa2c51e158af0922be6e03da14a04c" title="Adopt an existing nested-name-specifier (with source-range information).">CXXScopeSpec::Adopt</a>(<a class="code" href="classclang_1_1NestedNameSpecifierLoc.html" title="A C++ nested-name-specifier augmented with source location information.">NestedNameSpecifierLoc</a> Other) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="keywordflow">if</span> (!Other) {</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     Range = <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>();</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>     Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a6748303c108c4b4098e61b69df0e6cc5" title="Clear out this builder, and prepare it to build another nested-name-specifier with source-location in...">Clear</a>();</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   }</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   Range = Other.<a class="code" href="classclang_1_1NestedNameSpecifierLoc.html#af0afc244e8f03b96d86f637339ed85c4" title="Retrieve the source range covering the entirety of this nested-name-specifier.">getSourceRange</a>();</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a0c43a5ff3e3bec85e62c745a37d57e1d" title="Adopt an existing nested-name-specifier (with source-range information).">Adopt</a>(Other);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> }</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a43bdefa20e045b10c5caed319981ad16">  133</a></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_1CXXScopeSpec.html#a43bdefa20e045b10c5caed319981ad16" title="Retrieve the location of the name in the last qualifier in this nested name specifier.">CXXScopeSpec::getLastQualifierNameLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   <span class="keywordflow">if</span> (!Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abc9ce572e4353c621fcc23befcde547c" title="Retrieve the representation of the nested-name-specifier.">getRepresentation</a>())</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     <span class="keywordflow">return</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="l00136"></a><span class="lineno">  136</span>   <span class="keywordflow">return</span> Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a1ca568a9e10c9c2c4a0d890489608e75" title="Retrieve a nested-name-specifier with location information based on the information in this builder...">getTemporary</a>().<a class="code" href="classclang_1_1NestedNameSpecifierLoc.html#ad2528d48b1ff22023e082df2054b4afe" title="Retrieve the location of the beginning of this component of the nested-name-specifier.">getLocalBeginLoc</a>();</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> }</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <a class="code" href="classclang_1_1NestedNameSpecifierLoc.html" title="A C++ nested-name-specifier augmented with source location information.">NestedNameSpecifierLoc</a> </div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a39276dfded0dab7f252f05c9f643996f">  140</a></span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a39276dfded0dab7f252f05c9f643996f" title="Retrieve a nested-name-specifier with location information, copied into the given AST context...">CXXScopeSpec::getWithLocInContext</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   <span class="keywordflow">if</span> (!Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abc9ce572e4353c621fcc23befcde547c" title="Retrieve the representation of the nested-name-specifier.">getRepresentation</a>())</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1NestedNameSpecifierLoc.html" title="A C++ nested-name-specifier augmented with source location information.">NestedNameSpecifierLoc</a>();</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>   </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   <span class="keywordflow">return</span> Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a6d9f40c1400cf84ea57bbd2090c9f0fe" title="Retrieve a nested-name-specifier with location information, copied into the given AST context...">getWithLocInContext</a>(Context);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> }</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment">/// DeclaratorChunk::getFunction - Return a DeclaratorChunk for a function.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> <span class="comment">/// "TheDeclarator" is the declarator that this will be added to.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a682a0cfc3d30e9ab9349bef9d875eb0f">  149</a></span> <span class="comment"></span><a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#a682a0cfc3d30e9ab9349bef9d875eb0f">DeclaratorChunk::getFunction</a>(<span class="keywordtype">bool</span> hasProto,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>                                              <span class="keywordtype">bool</span> isAmbiguous,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>                                              <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> LParenLoc,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>                                              <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html">ParamInfo</a> *ArgInfo,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                                              <span class="keywordtype">unsigned</span> NumArgs,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</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> EllipsisLoc,</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>                                              <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> RParenLoc,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>                                              <span class="keywordtype">unsigned</span> TypeQuals,</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>                                              <span class="keywordtype">bool</span> RefQualifierIsLvalueRef,</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</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> RefQualifierLoc,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</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> ConstQualifierLoc,</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</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="l00161"></a><span class="lineno">  161</span>                                                  VolatileQualifierLoc,</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</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> MutableLoc,</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>                                              <a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>                                                  ESpecType,</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</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> ESpecLoc,</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>                                              <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> *Exceptions,</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>                                              <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> *ExceptionRanges,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>                                              <span class="keywordtype">unsigned</span> NumExceptions,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                                              <a class="code" href="classclang_1_1Expr.html">Expr</a> *NoexceptExpr,</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</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> LocalRangeBegin,</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</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> LocalRangeEnd,</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>                                              <a class="code" href="classclang_1_1Declarator.html" title="Information about one declarator, including the parsed type information and the identifier.">Declarator</a> &TheDeclarator,</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>                                              <a class="code" href="classclang_1_1ActionResult.html">TypeResult</a> TrailingReturnType) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   assert(!(TypeQuals & <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a72437f2a8423fd3d585cd5e139efa580">DeclSpec::TQ_atomic</a>) &&</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>          <span class="stringliteral">"function cannot have _Atomic qualifier"</span>);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>                        = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a0e535631da889deff61b9c14174afd9e">Function</a>;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>                         = LocalRangeBegin;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a4a2486c4e276289c21e01ae2ebf0fc93" title="EndLoc - If valid, the place where this chunck ends.">EndLoc</a>                      = LocalRangeEnd;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>                = 0;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#abed9085b552ee08a8aafb78bbee57921">hasPrototype</a>            = hasProto;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a023292f62f5b7d7532396c48c2986601">isVariadic</a>              = EllipsisLoc.<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="l00184"></a><span class="lineno">  184</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3dba85ff7175c4ef78b32f6acb6224" title="Can this declaration be a constructor-style initializer?">isAmbiguous</a>             = isAmbiguous;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a3abe7273901ed75da2dda64a46b06254" title="The location of the left parenthesis in the source.">LParenLoc</a>               = LParenLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#adb4295095b6a26ec33b85a1ad1d54ef2" title="When isVariadic is true, the location of the ellipsis in the source.">EllipsisLoc</a>             = EllipsisLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a735a7933ea13824f083ec0512a330a30" title="The location of the right parenthesis in the source.">RParenLoc</a>               = RParenLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a>           = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a035c533d0c01179296871a29f428fbe1">TypeQuals</a>               = TypeQuals;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a278210bb7c3115347babdc92db45de1b">NumArgs</a>                 = NumArgs;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a>                 = 0;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a254d4abbc438e4f437182197d5874c29" title="Whether the ref-qualifier (if any) is an lvalue reference. Otherwise, it's an rvalue reference...">RefQualifierIsLValueRef</a> = RefQualifierIsLvalueRef;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a5c6806c626ac5b7d870ab9f37829ad69" title="The location of the ref-qualifier, if any.">RefQualifierLoc</a>         = RefQualifierLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7fb821191b28cb70b9a7e68169da1a5d" title="The location of the const-qualifier, if any.">ConstQualifierLoc</a>       = ConstQualifierLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad72321ea9bdb12b2efc85fd83001b0b7" title="The location of the volatile-qualifier, if any.">VolatileQualifierLoc</a>    = VolatileQualifierLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a32b51d4487f7117669021aedaa20d2cb" title="The location of the 'mutable' qualifer in a lambda-declarator, if any.">MutableLoc</a>              = MutableLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad30679745ada858758eb2c97b0d6cb85" title="ExceptionSpecType - An ExceptionSpecificationType value.">ExceptionSpecType</a>       = ESpecType;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ae12aaf301c40291dd701300fa6cd4eec" title="The location of the keyword introducing the spec, if any.">ExceptionSpecLoc</a>        = ESpecLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ac52903f3114f0b03ca8ca42ac494ae97">NumExceptions</a>           = 0;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2" title="Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic e...">Exceptions</a>              = 0;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#afba973a2a0b6ba554bc46aeec66c3111" title="Pointer to the expression in the noexcept-specifier of this function, if it has one.">NoexceptExpr</a>            = 0;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3b8199354237bef509b6a3e1a9cd46">HasTrailingReturnType</a>   = TrailingReturnType.<a class="code" href="classclang_1_1ActionResult.html#ae70d0a2fa83269f71f1634cb9e0dc3d6">isUsable</a>() ||</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>                                   TrailingReturnType.<a class="code" href="classclang_1_1ActionResult.html#ac9ac9ca2df07fbb1931300e2a926351a">isInvalid</a>();</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19b3b8ec4bfb074346eff0b498fa92de" title="If HasTrailingReturnType is true, this is the trailing return type specified.">TrailingReturnType</a>      = TrailingReturnType.<a class="code" href="classclang_1_1ActionResult.html#a75d6bbdafaa638e85809e113629401ca">get</a>();</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>   <span class="comment">// new[] an argument array if needed.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   <span class="keywordflow">if</span> (NumArgs) {</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>     <span class="comment">// If the 'InlineParams' in Declarator is unused and big enough, put our</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>     <span class="comment">// parameter list there (in an effort to avoid new/delete traffic).  If it</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>     <span class="comment">// is already used (consider a function returning a function pointer) or too</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>     <span class="comment">// small (function taking too many arguments), go to the heap.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>     <span class="keywordflow">if</span> (!TheDeclarator.InlineParamsUsed &&</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>         NumArgs <= llvm::array_lengthof(TheDeclarator.InlineParams)) {</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>       I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a> = TheDeclarator.InlineParams;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>       I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>       TheDeclarator.InlineParamsUsed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>       I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a> = <span class="keyword">new</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html">DeclaratorChunk::ParamInfo</a>[NumArgs];</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>       I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a> = <span class="keyword">true</span>;</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>     memcpy(I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a>, ArgInfo, <span class="keyword">sizeof</span>(ArgInfo[0])*NumArgs);</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   }</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="comment">// Check what exception specification information we should actually store.</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="keywordflow">switch</span> (ESpecType) {</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="keywordflow">default</span>: <span class="keywordflow">break</span>; <span class="comment">// By default, save nothing.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081eaf4e0e31c2f1227d7cf242aa7db6de5bd" title="throw(T1, T2)">EST_Dynamic</a>:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <span class="comment">// new[] an exception array if needed</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     <span class="keywordflow">if</span> (NumExceptions) {</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>       I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ac52903f3114f0b03ca8ca42ac494ae97">NumExceptions</a> = NumExceptions;</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>       I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2" title="Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic e...">Exceptions</a> = <span class="keyword">new</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html">DeclaratorChunk::TypeAndRange</a>[NumExceptions];</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != NumExceptions; ++i) {</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>         I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2" title="Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic e...">Exceptions</a>[i].<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html#afe818ce2f26b60488d94fb2be04b5b98">Ty</a> = Exceptions[i];</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>         I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2" title="Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic e...">Exceptions</a>[i].<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html#a719a5468498c088d06e290b1e51aa971">Range</a> = ExceptionRanges[i];</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>     }</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081eae88c93c6922c9b0f0850b72e78294e57" title="noexcept(expression)">EST_ComputedNoexcept</a>:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#afba973a2a0b6ba554bc46aeec66c3111" title="Pointer to the expression in the noexcept-specifier of this function, if it has one.">NoexceptExpr</a> = NoexceptExpr;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>     <span class="keywordflow">break</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">return</span> I;</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> </div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a9d0696cc881a0a8690b1a2bff75c9aa3">  246</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a9d0696cc881a0a8690b1a2bff75c9aa3" title="Determine whether the declaration that will be produced from this declaration will be a function...">Declarator::isDeclarationOfFunction</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, i_end = DeclTypeInfo.size(); i < i_end; ++i) {</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="keywordflow">switch</span> (DeclTypeInfo[i].<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>) {</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a0e535631da889deff61b9c14174afd9e">DeclaratorChunk::Function</a>:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">DeclaratorChunk::Paren</a>:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a2105075936fee6ae5464e8c902228e53">DeclaratorChunk::Pointer</a>:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ac7ffa77fa0063707f15008dcec5f6a08">DeclaratorChunk::Reference</a>:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a458e84399294467ade706cfe3dee7240">DeclaratorChunk::Array</a>:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87aebff05a194dee2aee5dc6edda8111506">DeclaratorChunk::BlockPointer</a>:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ab6eb18465aa2188504014b5ae7d0cf5f">DeclaratorChunk::MemberPointer</a>:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>       <span class="keywordflow">return</span> <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>     llvm_unreachable(<span class="stringliteral">"Invalid type chunk"</span>);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   }</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>   <span class="keywordflow">switch</span> (DS.<a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">getTypeSpecType</a>()) {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a45ae7c248799c668264cc8d1f1e4308b">TST_atomic</a>:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a181187fb12e42d2806a044e0a7f458f4">TST_auto</a>:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13adc9629dec86856c53e4fd2ba4d2a0ed9">TST_bool</a>:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a99ac0b2b9d4cf63e46caa9fddd043ce8">TST_char</a>:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a98fccb7952e86caa0738e6da04b012df">TST_char16</a>:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a5be7ebdd8fb4d348bcf2e62a6200036f">TST_char32</a>:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aac5bf4f6561e430c559d9c24b488b219">TST_class</a>:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13afe54f94360b34fe5d00caa8abc081ead">TST_decimal128</a>:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a365cb389697fb48745115aafdf5dd023">TST_decimal32</a>:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a0dfa80dc9072d6e01c1d8a4189124cf5">TST_decimal64</a>:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad775761478e61d51dbdc116d6b18feea">TST_double</a>:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ae55173f1e59e511869a9357dc717aebc">TST_enum</a>:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aebd8ccb1b96ebabdfe90b90308dee689">TST_error</a>:</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a0ee34ad32fa60a5d25e6fb46894631ee">TST_float</a>:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a51b038a744512101c2822da22f20aa50">TST_half</a>:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad8dd677be54bf7b4678995f776561d15">TST_int</a>:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a43189bb0e2cf00e668b42fc18c4f197d">TST_int128</a>:</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a77f93dd9c20af9b446ea0d85792a94a7">TST_struct</a>:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13af8226e490cc6d28a7e6f67a333b0cfb7">TST_interface</a>:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ac3a0ed571dbfe00edb38fb29382b69aa">TST_union</a>:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ae467ddf4b0f97d58b0ae024362d55e1e">TST_unknown_anytype</a>:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a9cddd2a335e41a13e7dbb6e2489bc30a">TST_unspecified</a>:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13adfe1e136e32e4465b5c49aa9929a5003">TST_void</a>:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a9559207efd5eb512e636ccee3d467f8a">TST_wchar</a>:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13abc1f6bd680048461b31f3e262a0e999d">TST_image1d_t</a>:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad6e05c6e14adef5dd7cb368f28e5dce5">TST_image1d_array_t</a>:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a4017de3fb69baea5bac6af34570de284">TST_image1d_buffer_t</a>:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a44bd36e60c903162aee3fb48e8ad8b16">TST_image2d_t</a>:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ae3fcdf273b19659e59cc18315ed0828b">TST_image2d_array_t</a>:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad3d347d7747f00dcd83218bf68d90747">TST_image3d_t</a>:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aa5e1eea826c0d0b3d13274624fd37536">TST_sampler_t</a>:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a6f624ffd134096e4c0cf17cbc400bbd5">TST_event_t</a>:</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13af444f06365cf549c3e828c490ad8a40a">TST_decltype_auto</a>:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>       <span class="comment">// This must have an initializer, so can't be a function declaration,</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>       <span class="comment">// even if the initializer has function type.</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a55670494dc6c74c7e5081f340c79beca">TST_decltype</a>:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ade5eea5998a8ec7376d162fb6ba644dd">TST_typeofExpr</a>:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Expr.html">Expr</a> *E = DS.<a class="code" href="classclang_1_1DeclSpec.html#a5d02559e118b62e7a0199809f9471dae">getRepAsExpr</a>())</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>         <span class="keywordflow">return</span> E->getType()->isFunctionType();</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>      </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13abbf2e2ca6d6cc461d8472ab06699c65a">TST_underlyingType</a>:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13adf7b6a7abd1467d5eca4163fa2d04ca4">TST_typename</a>:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a81781ccea113f53d674d54596063b4fa">TST_typeofType</a>: {</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> QT = DS.<a class="code" href="classclang_1_1DeclSpec.html#aa3fef2e46c3e56525e5cf654f5421d45">getRepAsType</a>().<a class="code" href="classclang_1_1OpaquePtr.html#a697242042954af7a2206fbd3c1acbf7e">get</a>();</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>       <span class="keywordflow">if</span> (QT.<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="l00314"></a><span class="lineno">  314</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>       </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1LocInfoType.html" title="Holds a QualType and a TypeSourceInfo* that came out of a declarator parsing.">LocInfoType</a> *LIT = dyn_cast<LocInfoType>(QT))</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>         QT = LIT->getType();</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>       <span class="keywordflow">if</span> (QT.<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="l00320"></a><span class="lineno">  320</span>         <span class="keywordflow">return</span> <span class="keyword">false</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>       <span class="keywordflow">return</span> QT-><a class="code" href="classclang_1_1Type.html#af0ae1f40cbbc07fabfefc86af91072e3">isFunctionType</a>();</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>   }</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>   llvm_unreachable(<span class="stringliteral">"Invalid TypeSpecType!"</span>);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> }</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#af66fb6a1e43e0bb86d368948e726005f">  329</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#af66fb6a1e43e0bb86d368948e726005f">Declarator::isStaticMember</a>() {</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   assert(<a class="code" href="classclang_1_1Declarator.html#a9f8176e80c2f28664c3a296b75c4137e">getContext</a>() == <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>().<a class="code" href="classclang_1_1DeclSpec.html#a21616b8df7b2fd0305197604ab31ca71">getStorageClassSpec</a>() == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4afb75696c1be275c78b89e544a0596a0d">DeclSpec::SCS_static</a> ||</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>          <a class="code" href="classclang_1_1CXXMethodDecl.html#abe3e84f0c980e5a5d1ea2277d3e85704">CXXMethodDecl::isStaticOverloadedOperator</a>(</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>              <a class="code" href="classclang_1_1Declarator.html#abf6902e9c1758f5db00d427c768edba3" title="Retrieve the name specified by this declarator.">getName</a>().OperatorFunctionId.Operator);</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> }</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae312c0a325b2ca5857b65f9ac8003dfb">  336</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ae312c0a325b2ca5857b65f9ac8003dfb">DeclSpec::hasTagDefinition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="keywordflow">if</span> (!TypeSpecOwned)</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="keywordflow">return</span> cast<TagDecl>(<a class="code" href="classclang_1_1DeclSpec.html#ae37ea2d7ac65d48bd083cac962000d82">getRepAsDecl</a>())->isCompleteDefinition();</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> }</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="comment"></span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="comment">/// getParsedSpecifiers - Return a bitmask of which flavors of specifiers this</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> <span class="comment">/// declaration specifier includes.</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa26256b603b8ac6151b79c3ff6c6bce4">  345</a></span> <span class="comment"></span><span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DeclSpec.html#aa26256b603b8ac6151b79c3ff6c6bce4" title="Return a bitmask of which flavors of specifiers this DeclSpec includes.">DeclSpec::getParsedSpecifiers</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   <span class="keywordtype">unsigned</span> Res = 0;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   <span class="keywordflow">if</span> (StorageClassSpec != <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">SCS_unspecified</a> ||</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>       ThreadStorageClassSpec != <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">TSCS_unspecified</a>)</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>     Res |= <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa48ae237da8a243fc783d1dd9bcc53fda">PQ_StorageClassSpecifier</a>;</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>   <span class="keywordflow">if</span> (TypeQualifiers != <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858ad4355e0fb665e9f9ea9bec5100069b79">TQ_unspecified</a>)</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>     Res |= <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aaab5bdff224fd8aedbc9072e5546b7839">PQ_TypeQualifier</a>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1DeclSpec.html#a469d228c02d73f5dc32456d6990ca778" title="Return true if any type-specifier has been found.">hasTypeSpecifier</a>())</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     Res |= <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa941e59657ec1f388446673b37022983e">PQ_TypeSpecifier</a>;</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>   <span class="keywordflow">if</span> (FS_inline_specified || FS_virtual_specified || FS_explicit_specified ||</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>       FS_noreturn_specified || FS_forceinline_specified)</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     Res |= <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa3e0862564e6d08e90e20c49e336f389c">PQ_FunctionSpecifier</a>;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>   <span class="keywordflow">return</span> Res;</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> </div>
+<div class="line"><a name="l00363"></a><span class="lineno"><a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">  363</a></span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(T TNew, T TPrev,</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>                                             <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>                                             <span class="keywordtype">unsigned</span> &DiagID,</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>                                             <span class="keywordtype">bool</span> IsExtension = <span class="keyword">true</span>) {</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(TPrev);</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <span class="keywordflow">if</span> (TNew != TPrev)</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>     DiagID = diag::err_invalid_decl_spec_combination;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>     DiagID = IsExtension ? diag::ext_duplicate_declspec : </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>                            diag::warn_duplicate_declspec;    </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> }</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa6618b5bbfcc2c581d497ef32499d9a1">  376</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">DeclSpec::SCS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   <span class="keywordflow">switch</span> (S) {</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">DeclSpec::SCS_unspecified</a>: <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">DeclSpec::SCS_typedef</a>:     <span class="keywordflow">return</span> <span class="stringliteral">"typedef"</span>;</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">DeclSpec::SCS_extern</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"extern"</span>;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4afb75696c1be275c78b89e544a0596a0d">DeclSpec::SCS_static</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"static"</span>;</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">DeclSpec::SCS_auto</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"auto"</span>;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a9306080f4a4052c6bc3bf6d57a256405">DeclSpec::SCS_register</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"register"</span>;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4aaca9afca91d6f11a05432592cb9b0bb1">DeclSpec::SCS_private_extern</a>: <span class="keywordflow">return</span> <span class="stringliteral">"__private_extern__"</span>;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a56cc0939d05f5fcb4dec2de7954260eb">DeclSpec::SCS_mutable</a>:     <span class="keywordflow">return</span> <span class="stringliteral">"mutable"</span>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>   }</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</span>);</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> </div>
+<div class="line"><a name="l00390"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab4cda4cb0a092ba5dc0d8263b6b23693">  390</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">DeclSpec::TSCS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <span class="keywordflow">switch</span> (S) {</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">DeclSpec::TSCS_unspecified</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a05b57cc8e8fbb0df263942351c135ad9">DeclSpec::TSCS___thread</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"__thread"</span>;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ad7901bde7cec9b8028646e3881ec09d8">DeclSpec::TSCS_thread_local</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"thread_local"</span>;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a1dbd1f0bb1f67734cd6d23cf08641cb4">DeclSpec::TSCS__Thread_local</a>: <span class="keywordflow">return</span> <span class="stringliteral">"_Thread_local"</span>;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   }</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</span>);</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> </div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a265f13123085e431b8e55e7b3b732149">  400</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> W) {</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <span class="keywordflow">switch</span> (W) {</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>: <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">TSW_short</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#aa1644e681fa00b55273c482ff459da9f">TSW_long</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a0b8e126dc575e03af850eb70d629be39">TSW_longlong</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"long long"</span>;</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   }</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</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> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a52d6f1c3ddc37e00af7056e20db97548">  410</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a> C) {</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   <span class="keywordflow">switch</span> (C) {</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>: <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a284c7bce6be95d78b2ba4538661dc751">TSC_imaginary</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"imaginary"</span>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42ab1d67ec76fc0ee8729d1c3c7b1fdd1fc">TSC_complex</a>:     <span class="keywordflow">return</span> <span class="stringliteral">"complex"</span>;</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   }</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</span>);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> }</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#adaf2f638fed40817c9c686eb420a2811">  420</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>   <span class="keywordflow">switch</span> (S) {</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>: <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a61e0d03f6c73b59bec622bcdad231372">TSS_signed</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"signed"</span>;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#abf09946e64ea716302e6c587d00fde12">TSS_unsigned</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"unsigned"</span>;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   }</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</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> </div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965">  429</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">DeclSpec::TST</a> T) {</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   <span class="keywordflow">switch</span> (T) {</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">DeclSpec::TST_unspecified</a>: <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ab106e879cd36e7ee14ad49949fd06ce8">DeclSpec::TST_void</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"void"</span>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">DeclSpec::TST_char</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#aaecf66d5df3c6f1d1d2d6a7e3432f819">DeclSpec::TST_wchar</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"wchar_t"</span>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a481e440fe8040af7c804e4acd03a6d34">DeclSpec::TST_char16</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"char16_t"</span>;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ae03004b8210ac3f5d270a1ff2bd1dca7">DeclSpec::TST_char32</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"char32_t"</span>;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">DeclSpec::TST_int</a>:         <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ae9ee0d497225cab4bca7cea38e33aa38">DeclSpec::TST_int128</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"__int128"</span>;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a68bbc30358914070df0253f289648fbc">DeclSpec::TST_half</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"half"</span>;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#abccc2c8debbb8138c0a6a18ce36334e7">DeclSpec::TST_float</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">DeclSpec::TST_double</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"double"</span>;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a47d318501c7842b2b22e85a9cbb50d88">DeclSpec::TST_bool</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"_Bool"</span>;</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#adb827794a8c7d01d67fb83339a026a84">DeclSpec::TST_decimal32</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"_Decimal32"</span>;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#aa22cc79ba3bbebd7362f70889210b893">DeclSpec::TST_decimal64</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"_Decimal64"</span>;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ae0ed1c1c991f16a0d49028be90a0644b">DeclSpec::TST_decimal128</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"_Decimal128"</span>;</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a80d7c87d1074c9340978900d04df58f3">DeclSpec::TST_enum</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"enum"</span>;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9d7b4da81280d6f33a81c41e6acd35c7">DeclSpec::TST_class</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"class"</span>;</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a42d34eb086f3d38dd0c0229bee195f69">DeclSpec::TST_union</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"union"</span>;</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#aff3e0027194ff7af24e01d0afc7799e9">DeclSpec::TST_struct</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"struct"</span>;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a339c8cd10bf61c221305337b77e26ba0">DeclSpec::TST_interface</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"__interface"</span>;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a0ed31e8e239ed3e00e5181ca7bacf5aa">DeclSpec::TST_typename</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"type-name"</span>;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#af68cba2f3d213cb712955ec74c43c028">DeclSpec::TST_typeofType</a>:</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a355be5257ce55f545776f26bcfac2c8e">DeclSpec::TST_typeofExpr</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"typeof"</span>;</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">DeclSpec::TST_auto</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"auto"</span>;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a8c54e41beb856810d43483851c0241a1">DeclSpec::TST_decltype</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"(decltype)"</span>;</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ad767b928a17d93dbdd0e3132e220f527">DeclSpec::TST_decltype_auto</a>: <span class="keywordflow">return</span> <span class="stringliteral">"decltype(auto)"</span>;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a1a377d94e626678c842cef628f0de32b">DeclSpec::TST_underlyingType</a>: <span class="keywordflow">return</span> <span class="stringliteral">"__underlying_type"</span>;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4e11d257bedfadb647ebf2e46143f8c4">DeclSpec::TST_unknown_anytype</a>: <span class="keywordflow">return</span> <span class="stringliteral">"__unknown_anytype"</span>;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#abd0bd4ad58675486a3de52880f0eb177">DeclSpec::TST_atomic</a>: <span class="keywordflow">return</span> <span class="stringliteral">"_Atomic"</span>;</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a08159797d099d185a3f1ba5077acd6e1">DeclSpec::TST_image1d_t</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"image1d_t"</span>;</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a31f5fa2ca1cca6b25f09da3a726c3c96">DeclSpec::TST_image1d_array_t</a>: <span class="keywordflow">return</span> <span class="stringliteral">"image1d_array_t"</span>;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#af9953fee4fa250983b21e18baebb14d0">DeclSpec::TST_image1d_buffer_t</a>: <span class="keywordflow">return</span> <span class="stringliteral">"image1d_buffer_t"</span>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a6fef07d6993b4450995548872be0b340">DeclSpec::TST_image2d_t</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"image2d_t"</span>;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a01e0aa5115b36e0ac47bcd7551343ca9">DeclSpec::TST_image2d_array_t</a>: <span class="keywordflow">return</span> <span class="stringliteral">"image2d_array_t"</span>;</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ac013d7c33ba58f454e861cc8e466dfcd">DeclSpec::TST_image3d_t</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"image3d_t"</span>;</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ac1db9ad1334b0c6753a9280fcb61d314">DeclSpec::TST_sampler_t</a>:   <span class="keywordflow">return</span> <span class="stringliteral">"sampler_t"</span>;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a52f6e0e0425e60b801b4122bafc31728">DeclSpec::TST_event_t</a>:     <span class="keywordflow">return</span> <span class="stringliteral">"event_t"</span>;</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ad986a396df298706c209747e9e939f9d">DeclSpec::TST_error</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"(error)"</span>;</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>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</span>);</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> }</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae48ec2ef43513456cc2d14bc901e44ad">  473</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858">TQ</a> T) {</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>   <span class="keywordflow">switch</span> (T) {</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858ad4355e0fb665e9f9ea9bec5100069b79">DeclSpec::TQ_unspecified</a>: <span class="keywordflow">return</span> <span class="stringliteral">"unspecified"</span>;</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a37e97f6b9e2b185e8d3673c6805852a2">DeclSpec::TQ_const</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"const"</span>;</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a940c72c42a27037fd0c002e17406c7da">DeclSpec::TQ_restrict</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"restrict"</span>;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858acc41f6b86fe9124e33ea9ae583c34d04">DeclSpec::TQ_volatile</a>:    <span class="keywordflow">return</span> <span class="stringliteral">"volatile"</span>;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a72437f2a8423fd3d585cd5e139efa580">DeclSpec::TQ_atomic</a>:      <span class="keywordflow">return</span> <span class="stringliteral">"_Atomic"</span>;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>   }</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   llvm_unreachable(<span class="stringliteral">"Unknown typespec!"</span>);</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> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab0b2f83fe53e8c73e521d4421cf81539">  484</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ab0b2f83fe53e8c73e521d4421cf81539">DeclSpec::SetStorageClassSpec</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_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">SCS</a> SC, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>                                    <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   <span class="comment">// OpenCL v1.1 s6.8g: "The extern, static, auto and register storage-class</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>   <span class="comment">// specifiers are not supported.</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>   <span class="comment">// It seems sensible to prohibit private_extern too</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   <span class="comment">// The cl_clang_storage_class_specifiers extension enables support for</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   <span class="comment">// these storage-class specifiers.</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>   <span class="comment">// OpenCL v1.2 s6.8 changes this to "The auto and register storage-class</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   <span class="comment">// specifiers are not supported."</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>   <span class="keywordflow">if</span> (S.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().OpenCL &&</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>       !S.<a class="code" href="classclang_1_1Sema.html#a07135143f9767cce4da3fdb098955b39">getOpenCLOptions</a>().cl_clang_storage_class_specifiers) {</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>     <span class="keywordflow">switch</span> (SC) {</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">SCS_extern</a>:</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4aaca9afca91d6f11a05432592cb9b0bb1">SCS_private_extern</a>:</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4afb75696c1be275c78b89e544a0596a0d">SCS_static</a>:</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>         <span class="keywordflow">if</span> (S.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().OpenCLVersion < 120) {</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>           DiagID   = diag::err_not_opencl_storage_class_specifier;</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>           PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(SC);</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>         }</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">SCS_auto</a>:</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a9306080f4a4052c6bc3bf6d57a256405">SCS_register</a>:</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>       DiagID   = diag::err_not_opencl_storage_class_specifier;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(SC);</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>     }</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>   }</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   <span class="keywordflow">if</span> (StorageClassSpec != <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">SCS_unspecified</a>) {</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>     <span class="comment">// Maybe this is an attempt to use C++11 'auto' outside of C++11 mode.</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>     <span class="keywordtype">bool</span> <a class="code" href="SourceManager_8cpp.html#a6e59ede49e08cae14bbbfa239c1f9b92">isInvalid</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>     <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a> && S.<a class="code" href="classclang_1_1Sema.html#a5f632d714a520550786bde65d3771228">getLangOpts</a>().CPlusPlus) {</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>       <span class="keywordflow">if</span> (SC == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">SCS_auto</a>)</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">TST_auto</a>, Loc, PrevSpec, DiagID);</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>       <span class="keywordflow">if</span> (StorageClassSpec == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">SCS_auto</a>) {</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>         isInvalid = <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">TST_auto</a>, StorageClassSpecLoc,</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>                                     PrevSpec, DiagID);</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>         assert(!isInvalid && <span class="stringliteral">"auto SCS -> TST recovery failed"</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>     }</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>     <span class="comment">// Changing storage class is allowed only if the previous one</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>     <span class="comment">// was the 'extern' that is part of a linkage specification and</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     <span class="comment">// the new storage class is 'typedef'.</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     <span class="keywordflow">if</span> (isInvalid &&</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>         !(SCS_extern_in_linkage_spec &&</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>           StorageClassSpec == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">SCS_extern</a> &&</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>           SC == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">SCS_typedef</a>))</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>       <span class="keywordflow">return</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(SC, (<a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">SCS</a>)StorageClassSpec, PrevSpec, DiagID);</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>   StorageClassSpec = SC;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   StorageClassSpecLoc = Loc;</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>   assert((<span class="keywordtype">unsigned</span>)SC == StorageClassSpec && <span class="stringliteral">"SCS constants overflow bitfield"</span>);</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> }</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a name="l00544"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a2f4cb6b362bf943fe77582223fcceff0">  544</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a2f4cb6b362bf943fe77582223fcceff0">DeclSpec::SetStorageClassSpecThread</a>(<a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>                                          <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>                                          <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <span class="keywordflow">if</span> (ThreadStorageClassSpec != <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">TSCS_unspecified</a>)</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>     <span class="keywordflow">return</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(TSC, (<a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a>)ThreadStorageClassSpec, PrevSpec, DiagID);</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   ThreadStorageClassSpec = <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a>;</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   ThreadStorageClassSpecLoc = Loc;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> }</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> <span class="comment"></span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> <span class="comment">/// These methods set the specified attribute of the DeclSpec, but return true</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> <span class="comment">/// and ignore the request if invalid (e.g. "extern" then "auto" is</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> <span class="comment">/// specified).</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af672dad7c89050c0caaed5d805657c02">  558</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af672dad7c89050c0caaed5d805657c02">DeclSpec::SetTypeSpecWidth</a>(<a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> W, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>                                 <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   <span class="comment">// Overwrite TSWLoc only if TypeSpecWidth was unspecified, so that</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="comment">// for 'long long' we will keep the source location of the first 'long'.</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   <span class="keywordflow">if</span> (TypeSpecWidth == <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>)</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>     TSWLoc = Loc;</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>   <span class="comment">// Allow turning long -> long long.</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (W != <a class="code" href="classclang_1_1DeclSpec.html#a0b8e126dc575e03af850eb70d629be39">TSW_longlong</a> || TypeSpecWidth != <a class="code" href="classclang_1_1DeclSpec.html#aa1644e681fa00b55273c482ff459da9f">TSW_long</a>)</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>     <span class="keywordflow">return</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(W, (<a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a>)TypeSpecWidth, PrevSpec, DiagID);</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>   TypeSpecWidth = W;</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <span class="keywordflow">if</span> (TypeAltiVecVector && !TypeAltiVecBool &&</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>       ((TypeSpecWidth == <a class="code" href="classclang_1_1DeclSpec.html#aa1644e681fa00b55273c482ff459da9f">TSW_long</a>) || (TypeSpecWidth == <a class="code" href="classclang_1_1DeclSpec.html#a0b8e126dc575e03af850eb70d629be39">TSW_longlong</a>))) {</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>     DiagID = diag::warn_vector_long_decl_spec_combination;</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>     <span class="keywordflow">return</span> <span class="keyword">true</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>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span> }</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span> </div>
+<div class="line"><a name="l00578"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a538cd1d09d08b6eb786c121da4a704c9">  578</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a538cd1d09d08b6eb786c121da4a704c9">DeclSpec::SetTypeSpecComplex</a>(<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a> C, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>                                   <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>   <span class="keywordflow">if</span> (TypeSpecComplex != <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>)</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>     <span class="keywordflow">return</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(C, (<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a>)TypeSpecComplex, PrevSpec, DiagID);</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   TypeSpecComplex = C;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>   TSCLoc = Loc;</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> }</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> </div>
+<div class="line"><a name="l00588"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a7143bbfe9fc9b8e3a92949fe664ac0db">  588</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a7143bbfe9fc9b8e3a92949fe664ac0db">DeclSpec::SetTypeSpecSign</a>(<a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>                                <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>   <span class="keywordflow">if</span> (TypeSpecSign != <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>)</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     <span class="keywordflow">return</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(S, (<a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a>)TypeSpecSign, PrevSpec, DiagID);</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>   TypeSpecSign = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   TSSLoc = Loc;</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span> }</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa340a91f3183e6fead67fa11503cfb06">  598</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">DeclSpec::SetTypeSpecType</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>                                <span class="keywordtype">unsigned</span> &DiagID,</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>                                <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> Rep) {</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(T, Loc, Loc, PrevSpec, DiagID, Rep);</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> }</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> </div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#adb0d1f602d82e18d080876959414408d">  605</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">DeclSpec::SetTypeSpecType</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T, <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> TagKwLoc,</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</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> TagNameLoc,</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>                                <span class="keywordtype">unsigned</span> &DiagID,</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>                                <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> Rep) {</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>   assert(isTypeRep(T) && <span class="stringliteral">"T does not store a type"</span>);</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>   assert(Rep && <span class="stringliteral">"no type provided!"</span>);</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) {</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>     DiagID = diag::err_invalid_decl_spec_combination;</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     <span class="keywordflow">return</span> <span class="keyword">true</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>   TypeSpecType = T;</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>   <a class="code" href="classclang_1_1DeclSpec.html#a7b0c9d991a5e46e872084dc643b0ad89">TypeRep</a> = Rep;</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>   TSTLoc = TagKwLoc;</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>   TSTNameLoc = TagNameLoc;</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   <span class="keywordflow">return</span> <span class="keyword">false</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> </div>
+<div class="line"><a name="l00625"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a2ed8c36838c32f8b2a5e5d3b98b1304b">  625</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">DeclSpec::SetTypeSpecType</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>                                <span class="keywordtype">unsigned</span> &DiagID,</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>                                <a class="code" href="classclang_1_1Expr.html">Expr</a> *Rep) {</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>   assert(isExprRep(T) && <span class="stringliteral">"T does not store an expr"</span>);</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>   assert(Rep && <span class="stringliteral">"no expression provided!"</span>);</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>   <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) {</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>     DiagID = diag::err_invalid_decl_spec_combination;</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>   }</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>   TypeSpecType = T;</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   <a class="code" href="classclang_1_1DeclSpec.html#a3eae9945ad9f0515b2bda164f3830571">ExprRep</a> = Rep;</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   TSTLoc = Loc;</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   TSTNameLoc = Loc;</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>   TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span> }</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> </div>
+<div class="line"><a name="l00644"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad6754f7abe6840c9515c9bd93ac02357">  644</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">DeclSpec::SetTypeSpecType</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>                                <span class="keywordtype">unsigned</span> &DiagID,</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>                                <a class="code" href="classclang_1_1Decl.html">Decl</a> *Rep, <span class="keywordtype">bool</span> Owned) {</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(T, Loc, Loc, PrevSpec, DiagID, Rep, Owned);</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> }</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span> </div>
+<div class="line"><a name="l00651"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa322b4eef53c8c25ec469f80b85f84fb">  651</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">DeclSpec::SetTypeSpecType</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T, <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> TagKwLoc,</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</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> TagNameLoc,</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>                                <span class="keywordtype">unsigned</span> &DiagID,</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>                                <a class="code" href="classclang_1_1Decl.html">Decl</a> *Rep, <span class="keywordtype">bool</span> Owned) {</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>   assert(<a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>(T) && <span class="stringliteral">"T does not store a decl"</span>);</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>   <span class="comment">// Unlike the other cases, we don't assert that we actually get a decl.</span></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>   <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) {</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>     DiagID = diag::err_invalid_decl_spec_combination;</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>   }</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>   TypeSpecType = T;</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <a class="code" href="classclang_1_1DeclSpec.html#a23a95400417c2b1e3f17dfafc392bcbe">DeclRep</a> = Rep;</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   TSTLoc = TagKwLoc;</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>   TSTNameLoc = TagNameLoc;</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>   TypeSpecOwned = Owned && Rep != 0;</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span> }</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> </div>
+<div class="line"><a name="l00672"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">  672</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">DeclSpec::SetTypeSpecType</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>                                <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>   assert(!<a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>(T) && !isTypeRep(T) && !isExprRep(T) &&</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>          <span class="stringliteral">"rep required for these type-spec kinds!"</span>);</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>   <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) {</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>     DiagID = diag::err_invalid_decl_spec_combination;</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>   }</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>   TSTLoc = Loc;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   TSTNameLoc = Loc;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>   <span class="keywordflow">if</span> (TypeAltiVecVector && (T == <a class="code" href="classclang_1_1DeclSpec.html#a47d318501c7842b2b22e85a9cbb50d88">TST_bool</a>) && !TypeAltiVecBool) {</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>     TypeAltiVecBool = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>   }</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   TypeSpecType = T;</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   <span class="keywordflow">if</span> (TypeAltiVecVector && !TypeAltiVecBool && (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">TST_double</a>)) {</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>     DiagID = diag::err_invalid_vector_decl_spec;</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>   }</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> }</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span> </div>
+<div class="line"><a name="l00698"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a830cc30cd6f68487437f0bb9d1708d59">  698</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a830cc30cd6f68487437f0bb9d1708d59">DeclSpec::SetTypeAltiVecVector</a>(<span class="keywordtype">bool</span> isAltiVecVector, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>                           <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>   <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) {</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>     DiagID = diag::err_invalid_vector_decl_spec_combination;</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     <span class="keywordflow">return</span> <span class="keyword">true</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>   TypeAltiVecVector = isAltiVecVector;</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>   AltiVecLoc = Loc;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span> }</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span> </div>
+<div class="line"><a name="l00710"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9cc2685edf221d9c282bc9d0913fbc43">  710</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a9cc2685edf221d9c282bc9d0913fbc43">DeclSpec::SetTypeAltiVecPixel</a>(<span class="keywordtype">bool</span> isAltiVecPixel, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>                           <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   <span class="keywordflow">if</span> (!TypeAltiVecVector || TypeAltiVecPixel ||</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>       (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>)) {</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>     DiagID = diag::err_invalid_pixel_decl_spec_combination;</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>   }</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>   TypeAltiVecPixel = isAltiVecPixel;</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>   TSTLoc = Loc;</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>   TSTNameLoc = Loc;</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00724"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a6643a2cd335622aa76b9ceddc6b8df4e">  724</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a6643a2cd335622aa76b9ceddc6b8df4e">DeclSpec::SetTypeAltiVecBool</a>(<span class="keywordtype">bool</span> isAltiVecBool, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>                           <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>   <span class="keywordflow">if</span> (!TypeAltiVecVector || TypeAltiVecBool ||</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>       (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>)) {</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>     PrevSpec = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType);</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>     DiagID = diag::err_invalid_vector_bool_decl_spec;</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>     <span class="keywordflow">return</span> <span class="keyword">true</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>   TypeAltiVecBool = isAltiVecBool;</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>   TSTLoc = Loc;</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>   TSTNameLoc = Loc;</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span> }</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span> </div>
+<div class="line"><a name="l00738"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac13a78f5d707018b2d5ef035c782dbaa">  738</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ac13a78f5d707018b2d5ef035c782dbaa">DeclSpec::SetTypeSpecError</a>() {</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>   TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#ad986a396df298706c209747e9e939f9d">TST_error</a>;</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>   TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>   TSTLoc = <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="l00742"></a><span class="lineno">  742</span>   TSTNameLoc = <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="l00743"></a><span class="lineno">  743</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span> }</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span> </div>
+<div class="line"><a name="l00746"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aae1191d64a50506ff86b2259e4fdf8ef">  746</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#aae1191d64a50506ff86b2259e4fdf8ef">DeclSpec::SetTypeQual</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858">TQ</a> T, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>                            <span class="keywordtype">unsigned</span> &DiagID, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang) {</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>   <span class="comment">// Duplicates are permitted in C99 onwards, but are not permitted in C89 or</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>   <span class="comment">// C++.  However, since this is likely not what the user intended, we will</span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>   <span class="comment">// always warn.  We do not need to set the qualifier's location since we</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>   <span class="comment">// already have it.</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>   <span class="keywordflow">if</span> (TypeQualifiers & T) {</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>     <span class="keywordtype">bool</span> IsExtension = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>     <span class="keywordflow">if</span> (Lang.C99)</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>       IsExtension = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>     <span class="keywordflow">return</span> <a class="code" href="DeclSpec_8cpp.html#a63e089bd3b70f58a8fb6b54d3f998a15">BadSpecifier</a>(T, T, PrevSpec, DiagID, IsExtension);</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>   TypeQualifiers |= T;</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span> </div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>   <span class="keywordflow">switch</span> (T) {</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858ad4355e0fb665e9f9ea9bec5100069b79">TQ_unspecified</a>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a37e97f6b9e2b185e8d3673c6805852a2">TQ_const</a>:    TQ_constLoc = Loc; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a940c72c42a27037fd0c002e17406c7da">TQ_restrict</a>: TQ_restrictLoc = Loc; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858acc41f6b86fe9124e33ea9ae583c34d04">TQ_volatile</a>: TQ_volatileLoc = Loc; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a72437f2a8423fd3d585cd5e139efa580">TQ_atomic</a>:   TQ_atomicLoc = Loc; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>   }</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span> </div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>   llvm_unreachable(<span class="stringliteral">"Unknown type qualifier!"</span>);</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span> }</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span> </div>
+<div class="line"><a name="l00771"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae0af5d764273181e11fd6ad08b009957">  771</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ae0af5d764273181e11fd6ad08b009957">DeclSpec::setFunctionSpecInline</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>                                      <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>   <span class="comment">// 'inline inline' is ok.  However, since this is likely not what the user</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>   <span class="comment">// intended, we will always warn, similar to duplicates of type qualifiers.</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>   <span class="keywordflow">if</span> (FS_inline_specified) {</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>     DiagID = diag::warn_duplicate_declspec;</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     PrevSpec = <span class="stringliteral">"inline"</span>;</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>   }</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>   FS_inline_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>   FS_inlineLoc = Loc;</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span> }</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> </div>
+<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af17c55d33d3b4142f3e0938585352807">  785</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af17c55d33d3b4142f3e0938585352807">DeclSpec::setFunctionSpecForceInline</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>                                           <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>   <span class="keywordflow">if</span> (FS_forceinline_specified) {</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>     DiagID = diag::warn_duplicate_declspec;</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>     PrevSpec = <span class="stringliteral">"__forceinline"</span>;</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>   }</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>   FS_forceinline_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>   FS_forceinlineLoc = Loc;</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> }</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span> </div>
+<div class="line"><a name="l00797"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ada1410ed445689c387ee4e226e0ed414">  797</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ada1410ed445689c387ee4e226e0ed414">DeclSpec::setFunctionSpecVirtual</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>                                       <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>                                       <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>   <span class="comment">// 'virtual virtual' is ok, but warn as this is likely not what the user</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>   <span class="comment">// intended.</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   <span class="keywordflow">if</span> (FS_virtual_specified) {</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>     DiagID = diag::warn_duplicate_declspec;</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>     PrevSpec = <span class="stringliteral">"virtual"</span>;</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>   }</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>   FS_virtual_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>   FS_virtualLoc = Loc;</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span> }</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span> </div>
+<div class="line"><a name="l00812"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a44993153964c366bfeb9c02f066437c2">  812</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a44993153964c366bfeb9c02f066437c2">DeclSpec::setFunctionSpecExplicit</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>                                        <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>                                        <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>   <span class="comment">// 'explicit explicit' is ok, but warn as this is likely not what the user</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>   <span class="comment">// intended.</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>   <span class="keywordflow">if</span> (FS_explicit_specified) {</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>     DiagID = diag::warn_duplicate_declspec;</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>     PrevSpec = <span class="stringliteral">"explicit"</span>;</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>   }</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>   FS_explicit_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>   FS_explicitLoc = Loc;</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span> }</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span> </div>
+<div class="line"><a name="l00827"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a626ddcc8171fed085f763f7e22497d85">  827</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a626ddcc8171fed085f763f7e22497d85">DeclSpec::setFunctionSpecNoreturn</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>                                        <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>                                        <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>   <span class="comment">// '_Noreturn _Noreturn' is ok, but warn as this is likely not what the user</span></div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>   <span class="comment">// intended.</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>   <span class="keywordflow">if</span> (FS_noreturn_specified) {</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>     DiagID = diag::warn_duplicate_declspec;</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>     PrevSpec = <span class="stringliteral">"_Noreturn"</span>;</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   FS_noreturn_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>   FS_noreturnLoc = Loc;</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> }</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span> </div>
+<div class="line"><a name="l00842"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a3c151c78355c69552c11edb9d4bb2d83">  842</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a3c151c78355c69552c11edb9d4bb2d83">DeclSpec::SetFriendSpec</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>                              <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>   <span class="keywordflow">if</span> (Friend_specified) {</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>     PrevSpec = <span class="stringliteral">"friend"</span>;</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>     DiagID = diag::ext_duplicate_declspec;</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>   }</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span> </div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>   Friend_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>   FriendLoc = Loc;</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span> }</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span> </div>
+<div class="line"><a name="l00855"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a27436319b7e88584fd99cdf20c5a7aa3">  855</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a27436319b7e88584fd99cdf20c5a7aa3">DeclSpec::setModulePrivateSpec</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>                                     <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1DeclSpec.html#a50e9b966b1bd51b04e98323bf22a674b">isModulePrivateSpecified</a>()) {</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>     PrevSpec = <span class="stringliteral">"__module_private__"</span>;</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>     DiagID = diag::ext_duplicate_declspec;</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>   }</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>   </div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>   ModulePrivateLoc = Loc;</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span> }</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span> </div>
+<div class="line"><a name="l00867"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab890c49b1cbb1bc156baee09047d2cb1">  867</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ab890c49b1cbb1bc156baee09047d2cb1">DeclSpec::SetConstexprSpec</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>                                 <span class="keywordtype">unsigned</span> &DiagID) {</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>   <span class="comment">// 'constexpr constexpr' is ok.</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>   Constexpr_specified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>   ConstexprLoc = Loc;</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span> }</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span> </div>
+<div class="line"><a name="l00875"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab69153a946e9f04aac5878a7d7278695">  875</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#ab69153a946e9f04aac5878a7d7278695">DeclSpec::setProtocolQualifiers</a>(<a class="code" href="classclang_1_1Decl.html">Decl</a> * <span class="keyword">const</span> *Protos,</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>                                      <span class="keywordtype">unsigned</span> NP,</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</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> *ProtoLocs,</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</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> LAngleLoc) {</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>   <span class="keywordflow">if</span> (NP == 0) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>   <a class="code" href="classclang_1_1Decl.html">Decl</a> **ProtoQuals = <span class="keyword">new</span> <a class="code" href="classclang_1_1Decl.html">Decl</a>*[NP];</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>   memcpy(ProtoQuals, Protos, <span class="keyword">sizeof</span>(<a class="code" href="classclang_1_1Decl.html">Decl</a>*)*NP);</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>   ProtocolQualifiers = ProtoQuals;</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>   ProtocolLocs = <span class="keyword">new</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>[NP];</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>   memcpy(ProtocolLocs, ProtoLocs, <span class="keyword">sizeof</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>)*NP);</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>   NumProtocolQualifiers = NP;</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>   ProtocolLAngleLoc = LAngleLoc;</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> </div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span> <span class="keywordtype">void</span> DeclSpec::SaveWrittenBuiltinSpecs() {</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>   writtenBS.<a class="code" href="structclang_1_1WrittenBuiltinSpecs.html#a45cdcec822e188b109e049980e168f5a">Sign</a> = <a class="code" href="classclang_1_1DeclSpec.html#a657f8e8e9c960d044c8cff9417239f08">getTypeSpecSign</a>();</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>   writtenBS.<a class="code" href="structclang_1_1WrittenBuiltinSpecs.html#ab2d6e3818dc6846d949379eab3de5a5d">Width</a> = <a class="code" href="classclang_1_1DeclSpec.html#a891381e70b33f3e8e459a294ac08d98f">getTypeSpecWidth</a>();</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>   writtenBS.<a class="code" href="structclang_1_1WrittenBuiltinSpecs.html#a268776a4ccaa7519965a3f23508c0574">Type</a> = <a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">getTypeSpecType</a>();</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>   <span class="comment">// Search the list of attributes for the presence of a mode attribute.</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>   writtenBS.<a class="code" href="structclang_1_1WrittenBuiltinSpecs.html#a5a142db5341e311a82bcd930b0ac997e">ModeAttr</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a>* attrs = <a class="code" href="classclang_1_1DeclSpec.html#a6943e56367dc870afb5ce6b7de04b972">getAttributes</a>().<a class="code" href="classclang_1_1ParsedAttributes.html#a6a91d21507f031359225804d26671da5">getList</a>();</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>   <span class="keywordflow">while</span> (attrs) {</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>     <span class="keywordflow">if</span> (attrs-><a class="code" href="classclang_1_1AttributeList.html#a4e563bd986f1003c1e51398b1f7aadd9">getKind</a>() == AttributeList::AT_Mode) {</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>       writtenBS.<a class="code" href="structclang_1_1WrittenBuiltinSpecs.html#a5a142db5341e311a82bcd930b0ac997e">ModeAttr</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>     }</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>     attrs = attrs-><a class="code" href="classclang_1_1AttributeList.html#a9e8836cfe5794658c6811dc504476f39">getNext</a>();</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>   }</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span> }</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span> <span class="comment"></span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span> <span class="comment">/// Finish - This does final analysis of the declspec, rejecting things like</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span> <span class="comment">/// "_Imaginary" (lacking an FP type).  This returns a diagnostic to issue or</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> <span class="comment">/// diag::NUM_DIAGNOSTICS if there is no error.  After calling this method,</span></div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span> <span class="comment">/// DeclSpec is guaranteed self-consistent, even if an error occurred.</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a0fa092492d6de7c1bafe7aa65284364b">  909</a></span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a0fa092492d6de7c1bafe7aa65284364b">DeclSpec::Finish</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &D, <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP) {</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>   <span class="comment">// Before possibly changing their values, save specs as written.</span></div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>   SaveWrittenBuiltinSpecs();</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span> </div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>   <span class="comment">// Check the type specifier components first.</span></div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span> </div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>   <span class="comment">// If decltype(auto) is used, no other type specifiers are permitted.</span></div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>   <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ad767b928a17d93dbdd0e3132e220f527">TST_decltype_auto</a> &&</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>       (TypeSpecWidth != <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a> ||</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>        TypeSpecComplex != <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a> ||</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>        TypeSpecSign != <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a> ||</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>        TypeAltiVecVector || TypeAltiVecPixel || TypeAltiVecBool ||</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>        TypeQualifiers)) {</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> NumLocs = 8;</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</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> ExtraLocs[NumLocs] = {</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>       TSWLoc, TSCLoc, TSSLoc, AltiVecLoc,</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>       TQ_constLoc, TQ_restrictLoc, TQ_volatileLoc, TQ_atomicLoc</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>     };</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>     <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> Hints[NumLocs];</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</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> FirstLoc;</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0; I != NumLocs; ++I) {</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>       <span class="keywordflow">if</span> (!ExtraLocs[I].<a class="code" href="SourceManager_8cpp.html#a6e59ede49e08cae14bbbfa239c1f9b92">isInvalid</a>()) {</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>         <span class="keywordflow">if</span> (FirstLoc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>() ||</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>             PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>().<a class="code" href="classclang_1_1SourceManager.html#a80e6af876450686c7811c34fc72fcbdc" title="Determines the order of 2 source locations in the translation unit.">isBeforeInTranslationUnit</a>(ExtraLocs[I],</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>                                                             FirstLoc))</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>           FirstLoc = ExtraLocs[I];</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>         Hints[I] = <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">FixItHint::CreateRemoval</a>(ExtraLocs[I]);</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>       }</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>     }</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>     TypeSpecWidth = <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>;</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>     TypeSpecComplex = <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>;</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>     TypeSpecSign = <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>;</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>     TypeAltiVecVector = TypeAltiVecPixel = TypeAltiVecBool = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>     TypeQualifiers = 0;</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>     <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSTLoc, diag::err_decltype_auto_cannot_be_combined)</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>       << Hints[0] << Hints[1] << Hints[2] << Hints[3]</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>       << Hints[4] << Hints[5] << Hints[6] << Hints[7];</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>   }</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span> </div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   <span class="comment">// Validate and finalize AltiVec vector declspec.</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>   <span class="keywordflow">if</span> (TypeAltiVecVector) {</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>     <span class="keywordflow">if</span> (TypeAltiVecBool) {</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>       <span class="comment">// Sign specifiers are not allowed with vector bool. (PIM 2.1)</span></div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>       <span class="keywordflow">if</span> (TypeSpecSign != <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>) {</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>         <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSSLoc, diag::err_invalid_vector_bool_decl_spec)</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>           << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a>)TypeSpecSign);</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>       }</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span> </div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>       <span class="comment">// Only char/int are valid with vector bool. (PIM 2.1)</span></div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>       <span class="keywordflow">if</span> (((TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) && (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">TST_char</a>) &&</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>            (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>)) || TypeAltiVecPixel) {</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>         <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSTLoc, diag::err_invalid_vector_bool_decl_spec)</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>           << (TypeAltiVecPixel ? <span class="stringliteral">"__pixel"</span> :</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>                                  <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>)TypeSpecType));</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> </div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>       <span class="comment">// Only 'short' is valid with vector bool. (PIM 2.1)</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>       <span class="keywordflow">if</span> ((TypeSpecWidth != <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>) && (TypeSpecWidth != <a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">TSW_short</a>))</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>         <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSWLoc, diag::err_invalid_vector_bool_decl_spec)</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>           << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a>)TypeSpecWidth);</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span> </div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>       <span class="comment">// Elements of vector bool are interpreted as unsigned. (PIM 2.1)</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>       <span class="keywordflow">if</span> ((TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">TST_char</a>) || (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>) ||</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>           (TypeSpecWidth != <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>))</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>         TypeSpecSign = <a class="code" href="classclang_1_1DeclSpec.html#abf09946e64ea716302e6c587d00fde12">TSS_unsigned</a>;</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>     }</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span> </div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>     <span class="keywordflow">if</span> (TypeAltiVecPixel) {</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>       <span class="comment">//TODO: perform validation</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>;</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>       TypeSpecSign = <a class="code" href="classclang_1_1DeclSpec.html#abf09946e64ea716302e6c587d00fde12">TSS_unsigned</a>;</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>       TypeSpecWidth = <a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">TSW_short</a>;</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>       TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>     }</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>   }</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span> </div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>   <span class="comment">// signed/unsigned are only valid with int/char/wchar_t.</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>   <span class="keywordflow">if</span> (TypeSpecSign != <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>) {</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>     <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>)</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>; <span class="comment">// unsigned -> unsigned int, signed -> signed int.</span></div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>  && TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#ae9ee0d497225cab4bca7cea38e33aa38">TST_int128</a> &&</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>              TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">TST_char</a> && TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#aaecf66d5df3c6f1d1d2d6a7e3432f819">TST_wchar</a>) {</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>       <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSSLoc, diag::err_invalid_sign_spec)</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>         << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>)TypeSpecType);</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>       <span class="comment">// signed double -> double.</span></div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>       TypeSpecSign = <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>     }</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>   }</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span> </div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>   <span class="comment">// Validate the width of the type.</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>   <span class="keywordflow">switch</span> (TypeSpecWidth) {</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">TSW_short</a>:    <span class="comment">// short int</span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a0b8e126dc575e03af850eb70d629be39">TSW_longlong</a>: <span class="comment">// long long int</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>     <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>)</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>; <span class="comment">// short -> short int, long long -> long long int.</span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>) {</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>       <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSWLoc,</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>            TypeSpecWidth == <a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">TSW_short</a> ? diag::err_invalid_short_spec</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>                                       : diag::err_invalid_longlong_spec)</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>         <<  <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>)TypeSpecType);</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>       TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>     }</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#aa1644e681fa00b55273c482ff459da9f">TSW_long</a>:  <span class="comment">// long double, long int</span></div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>     <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>)</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>;  <span class="comment">// long -> long int.</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a> && TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">TST_double</a>) {</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>       <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSWLoc, diag::err_invalid_long_spec)</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>         << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>)TypeSpecType);</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a>;</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>       TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>     }</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>   }</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>   <span class="comment">// TODO: if the implementation does not implement _Complex or _Imaginary,</span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>   <span class="comment">// disallow their use.  Need information about the backend.</span></div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>   <span class="keywordflow">if</span> (TypeSpecComplex != <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>) {</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>     <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>) {</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>       <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSCLoc, diag::ext_plain_complex)</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>         << <a class="code" href="classclang_1_1FixItHint.html#afd481d826e9ddaa39fc82a698a810246" title="Create a code modification hint that inserts the given code string at a specific location.">FixItHint::CreateInsertion</a>(</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>                               PP.<a class="code" href="classclang_1_1Preprocessor.html#aef7193e9d262ea6852d666beb28dc1a0" title="Computes the source location just past the end of the token at this source location.">getLocForEndOfToken</a>(<a class="code" href="classclang_1_1DeclSpec.html#ac8e8c0c48ef6c986125733a4a6c6e059">getTypeSpecComplexLoc</a>()),</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>                                                  <span class="stringliteral">" double"</span>);</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>       TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">TST_double</a>;   <span class="comment">// _Complex -> _Complex double.</span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a> || TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">TST_char</a>) {</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>       <span class="comment">// Note that this intentionally doesn't include _Complex _Bool.</span></div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>       <span class="keywordflow">if</span> (!PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().CPlusPlus)</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>         <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSTLoc, diag::ext_integer_complex);</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#abccc2c8debbb8138c0a6a18ce36334e7">TST_float</a> && TypeSpecType != <a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">TST_double</a>) {</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>       <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSCLoc, diag::err_invalid_complex_spec)</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>         << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>)TypeSpecType);</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>       TypeSpecComplex = <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>;</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> </div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>   <span class="comment">// C11 6.7.1/3, C++11 [dcl.stc]p1, GNU TLS: __thread, thread_local and</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>   <span class="comment">// _Thread_local can only appear with the 'static' and 'extern' storage class</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>   <span class="comment">// specifiers. We also allow __private_extern__ as an extension.</span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>   <span class="keywordflow">if</span> (ThreadStorageClassSpec != <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">TSCS_unspecified</a>) {</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>     <span class="keywordflow">switch</span> (StorageClassSpec) {</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">SCS_unspecified</a>:</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">SCS_extern</a>:</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4aaca9afca91d6f11a05432592cb9b0bb1">SCS_private_extern</a>:</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4afb75696c1be275c78b89e544a0596a0d">SCS_static</a>:</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>       <span class="keywordflow">if</span> (PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>().<a class="code" href="classclang_1_1SourceManager.html#a80e6af876450686c7811c34fc72fcbdc" title="Determines the order of 2 source locations in the translation unit.">isBeforeInTranslationUnit</a>(</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>             <a class="code" href="classclang_1_1DeclSpec.html#a7d2ff85ac3d0e29082d37ae5f87a57f0">getThreadStorageClassSpecLoc</a>(), <a class="code" href="classclang_1_1DeclSpec.html#a05cd671221b98918a44c6e28b6bbedc1">getStorageClassSpecLoc</a>()))</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>         <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, <a class="code" href="classclang_1_1DeclSpec.html#a05cd671221b98918a44c6e28b6bbedc1">getStorageClassSpecLoc</a>(),</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>              diag::err_invalid_decl_spec_combination)</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>           << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a3005a209c14bc4666de4294439ca3e33">getThreadStorageClassSpec</a>())</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>           << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(<a class="code" href="classclang_1_1DeclSpec.html#a7d2ff85ac3d0e29082d37ae5f87a57f0">getThreadStorageClassSpecLoc</a>());</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>         <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, <a class="code" href="classclang_1_1DeclSpec.html#a7d2ff85ac3d0e29082d37ae5f87a57f0">getThreadStorageClassSpecLoc</a>(),</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>              diag::err_invalid_decl_spec_combination)</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>           << <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">DeclSpec::getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a21616b8df7b2fd0305197604ab31ca71">getStorageClassSpec</a>())</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>           << <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(<a class="code" href="classclang_1_1DeclSpec.html#a05cd671221b98918a44c6e28b6bbedc1">getStorageClassSpecLoc</a>());</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>       <span class="comment">// Discard the thread storage class specifier to recover.</span></div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>       ThreadStorageClassSpec = <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">TSCS_unspecified</a>;</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>       ThreadStorageClassSpecLoc = <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="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> </div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>   <span class="comment">// If no type specifier was provided and we're parsing a language where</span></div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>   <span class="comment">// the type specifier is not optional, but we got 'auto' as a storage</span></div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>   <span class="comment">// class specifier, then assume this is an attempt to use C++0x's 'auto'</span></div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>   <span class="comment">// type specifier.</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>   <span class="keywordflow">if</span> (PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().CPlusPlus &&</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>       TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a> && StorageClassSpec == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">SCS_auto</a>) {</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>     TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">TST_auto</a>;</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>     StorageClassSpec = <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">SCS_unspecified</a>;</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>     TSTLoc = TSTNameLoc = StorageClassSpecLoc;</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>     StorageClassSpecLoc = <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="l01084"></a><span class="lineno"> 1084</span>   }</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>   <span class="comment">// Diagnose if we've recovered from an ill-formed 'auto' storage class</span></div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>   <span class="comment">// specifier in a pre-C++11 dialect of C++.</span></div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>   <span class="keywordflow">if</span> (!PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().CPlusPlus11 && TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">TST_auto</a>)</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>     <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSTLoc, diag::ext_auto_type_specifier);</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>   <span class="keywordflow">if</span> (PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().CPlusPlus && !PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>().CPlusPlus11 &&</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>       StorageClassSpec == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">SCS_auto</a>)</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>     <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, StorageClassSpecLoc, diag::warn_auto_storage_class)</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</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>(StorageClassSpecLoc);</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>   <span class="keywordflow">if</span> (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a481e440fe8040af7c804e4acd03a6d34">TST_char16</a> || TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ae03004b8210ac3f5d270a1ff2bd1dca7">TST_char32</a>)</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>     <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, TSTLoc, diag::warn_cxx98_compat_unicode_type)</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>       << (TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a481e440fe8040af7c804e4acd03a6d34">TST_char16</a> ? <span class="stringliteral">"char16_t"</span> : <span class="stringliteral">"char32_t"</span>);</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>   <span class="keywordflow">if</span> (Constexpr_specified)</div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>     <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, ConstexprLoc, diag::warn_cxx98_compat_constexpr);</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">// C++ [class.friend]p6:</span></div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>   <span class="comment">//   No storage-class-specifier shall appear in the decl-specifier-seq</span></div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>   <span class="comment">//   of a friend declaration.</span></div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1DeclSpec.html#a102837205c9d404fc55dec8bcf7435e3">isFriendSpecified</a>() &&</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>       (<a class="code" href="classclang_1_1DeclSpec.html#a21616b8df7b2fd0305197604ab31ca71">getStorageClassSpec</a>() || <a class="code" href="classclang_1_1DeclSpec.html#a3005a209c14bc4666de4294439ca3e33">getThreadStorageClassSpec</a>())) {</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<32></a> SpecName;</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</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> SCLoc;</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>     <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> StorageHint, ThreadHint;</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> </div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">DeclSpec::SCS</a> SC = <a class="code" href="classclang_1_1DeclSpec.html#a21616b8df7b2fd0305197604ab31ca71">getStorageClassSpec</a>()) {</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>       SpecName = <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(SC);</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>       SCLoc = <a class="code" href="classclang_1_1DeclSpec.html#a05cd671221b98918a44c6e28b6bbedc1">getStorageClassSpecLoc</a>();</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>       StorageHint = <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">FixItHint::CreateRemoval</a>(SCLoc);</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>     }</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> </div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>     <span class="keywordflow">if</span> (<a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">DeclSpec::TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a> = <a class="code" href="classclang_1_1DeclSpec.html#a3005a209c14bc4666de4294439ca3e33">getThreadStorageClassSpec</a>()) {</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>       <span class="keywordflow">if</span> (!SpecName.empty()) SpecName += <span class="stringliteral">" "</span>;</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>       SpecName += <a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a>);</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>       SCLoc = <a class="code" href="classclang_1_1DeclSpec.html#a7d2ff85ac3d0e29082d37ae5f87a57f0">getThreadStorageClassSpecLoc</a>();</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>       ThreadHint = <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">FixItHint::CreateRemoval</a>(SCLoc);</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>     }</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>     <a class="code" href="DeclSpec_8cpp.html#a10315d69fd68fae3e3e0720f51e86ed3">Diag</a>(D, SCLoc, diag::err_friend_storage_spec)</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>       << SpecName << StorageHint << ThreadHint;</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>     <a class="code" href="classclang_1_1DeclSpec.html#a19f2c782115fef841ead93d82bcfffa3">ClearStorageClassSpecs</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> </div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>   assert(!TypeSpecOwned || <a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType));</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  </div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>   <span class="comment">// Okay, now we can infer the real type.</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>   <span class="comment">// TODO: return "auto function" and other bad things based on the real type.</span></div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>   <span class="comment">// 'data definition has no type or storage class'?</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> </div>
+<div class="line"><a name="l01136"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a56cadb21a3f15f2b35527dccfc5f9b50"> 1136</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a56cadb21a3f15f2b35527dccfc5f9b50" title="Checks if this DeclSpec can stand alone, without a Declarator.">DeclSpec::isMissingDeclaratorOk</a>() {</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>   <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> tst = <a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">getTypeSpecType</a>();</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>(tst) && <a class="code" href="classclang_1_1DeclSpec.html#ae37ea2d7ac65d48bd083cac962000d82">getRepAsDecl</a>() != 0 &&</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>     StorageClassSpec != <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">DeclSpec::SCS_typedef</a>;</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> </div>
+<div class="line"><a name="l01142"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a3d0dddb9189b381ace529436164cfa86"> 1142</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a3d0dddb9189b381ace529436164cfa86" title="Specify that this unqualified-id was parsed as an operator-function-id.">UnqualifiedId::setOperatorFunctionId</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> OperatorLoc, </div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>                                           <a class="code" href="namespaceclang.html#ad937c281bb5b868d30a72c9bf137baf6" title="Enumeration specifying the different kinds of C++ overloaded operators.">OverloadedOperatorKind</a> Op,</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</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> SymbolLocations[3]) {</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>   <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11baa800987c672a13051901651e702b149a" title="An overloaded operator name, e.g., operator+.">IK_OperatorFunctionId</a>;</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = OperatorLoc;</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = OperatorLoc;</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#a0c039dc691d9b94421a0e02089c64d8e" title="When Kind == IK_OperatorFunctionId, the overloaded operator that we parsed.">OperatorFunctionId</a>.<a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html#a8d934fcf105e9d0a0824be6b172c94aa" title="The kind of overloaded operator.">Operator</a> = Op;</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0; I != 3; ++I) {</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a0c039dc691d9b94421a0e02089c64d8e" title="When Kind == IK_OperatorFunctionId, the overloaded operator that we parsed.">OperatorFunctionId</a>.<a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html#a74dca4fe1782620fd75423db40b30f67" title="The source locations of the individual tokens that name the operator, e.g., the "new", "[", and "]" tokens in operator new [].">SymbolLocations</a>[I] = SymbolLocations[I].<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>     </div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>     <span class="keywordflow">if</span> (SymbolLocations[I].<a class="code" href="classclang_1_1UnqualifiedId.html#a7f388ac8c50bd4e934a5b3afc0fb8f52" title="Determine whether this unqualified-id refers to a valid name.">isValid</a>())</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>       <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = SymbolLocations[I];</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>   }</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> }</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> </div>
+<div class="line"><a name="l01157"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#afd3fde9131ff9c31c99f4cdf8c38e73d"> 1157</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#afd3fde9131ff9c31c99f4cdf8c38e73d">VirtSpecifiers::SetSpecifier</a>(<a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1">Specifier</a> VS, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec) {</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>   LastLocation = Loc;</div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>   </div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>   <span class="keywordflow">if</span> (Specifiers & VS) {</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>     PrevSpec = <a class="code" href="classclang_1_1VirtSpecifiers.html#af79d35f542ae2fcf0618594c416625f7">getSpecifierName</a>(VS);</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>   }</div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>   Specifiers |= VS;</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>   <span class="keywordflow">switch</span> (VS) {</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>   <span class="keywordflow">default</span>: llvm_unreachable(<span class="stringliteral">"Unknown specifier!"</span>);</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a4c3ca5f414c60021152e440f7e8a6a50">VS_Override</a>: VS_overrideLoc = Loc; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1adc724271c479af3b8cdbf46321b9a55c">VS_Sealed</a>:</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a8892bfedc18df7a5ebd8c9d277f39815">VS_Final</a>:    VS_finalLoc = Loc; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>   }</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> </div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> }</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> </div>
+<div class="line"><a name="l01178"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#af79d35f542ae2fcf0618594c416625f7"> 1178</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1VirtSpecifiers.html#af79d35f542ae2fcf0618594c416625f7">VirtSpecifiers::getSpecifierName</a>(<a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1">Specifier</a> VS) {</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>   <span class="keywordflow">switch</span> (VS) {</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>   <span class="keywordflow">default</span>: llvm_unreachable(<span class="stringliteral">"Unknown specifier"</span>);</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a4c3ca5f414c60021152e440f7e8a6a50">VS_Override</a>: <span class="keywordflow">return</span> <span class="stringliteral">"override"</span>;</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a8892bfedc18df7a5ebd8c9d277f39815">VS_Final</a>: <span class="keywordflow">return</span> <span class="stringliteral">"final"</span>;</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1adc724271c479af3b8cdbf46321b9a55c">VS_Sealed</a>: <span class="keywordflow">return</span> <span class="stringliteral">"sealed"</span>;</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>   }</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:32 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/DeclSpec_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,583 @@
+<!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: DeclSpec.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">DeclSpec.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="DeclSpec_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/DeclSpec.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Sema/Release+Asserts/DeclSpec.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  DeclSpec.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.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/DenseMap.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</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="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</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="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TemplateKinds.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.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</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="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</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="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</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="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</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="l00126"></a><span class="lineno">  126</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="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>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</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="l00129"></a><span class="lineno">  129</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="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</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="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>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</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="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Parse/ParseDiagnostic.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticParseKinds.inc \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ParsedTemplate.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</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="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/SemaDiagnostic.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticSemaKinds.inc</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/DeclSpec.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/AST/NestedNameSpecifier.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/Basic/Diagnostic.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/Basic/DiagnosticIDs.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/Basic/LLVM.h:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/include/llvm/Support/Compiler.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/Config/llvm-config.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.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/ArrayRef.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.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/AlignOf.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/Support/MathExtras.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/SwapByteOrder.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.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/DenseMapInfo.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/FoldingSet.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/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/tools/clang/lib/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="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/Basic/Lambda.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/Basic/OperatorKinds.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/Basic/OperatorKinds.def:</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/Specifiers.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/<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="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/TemplateKinds.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/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/tools/clang/lib/Sema/../../include/clang/Sema/AttributeList.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Ownership.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/Sema/AttrParsedAttrList.inc:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/AST/ASTContext.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTTypeTraits.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/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.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/AST/APValue.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.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/DeclBase.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/AttrIterator.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/DeclarationName.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/Basic/IdentifierTable.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/SmallString.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.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/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/tools/clang/lib/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="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ExternalASTSource.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/CharUnits.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/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="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/ADT/Twine.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/BuiltinTypes.def:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.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/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Stmt.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclGroup.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/StmtIterator.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/CapturedStmt.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/TemplateBase.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocNodes.def:</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/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/CommentOptions.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/AST/CommentCommandList.inc:</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/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ObjCRuntime.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/include/llvm/ADT/Triple.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/Sanitizers.def:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/FileManager.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/FileSystemOptions.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/DenseSet.h:</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.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/AddressSpaces.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/DeclCXX.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/ASTUnresolvedSet.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/UnresolvedSet.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/DeclAccessPair.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/AST/Expr.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/OperationKinds.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/CharInfo.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Builtins.def:</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/ExprCXX.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/ExpressionTraits.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.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/Builtins.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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>/MacroInfo.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/Module.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/SetVector.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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>/ModuleLoader.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.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/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/Parse/ParseDiagnostic.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/Basic/DiagnosticParseKinds.inc:</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/LocInfoType.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/Sema/ParsedTemplate.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/Sema.h:</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Basic/AttrKinds.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/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.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/AST/Attrs.inc:</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/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/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="l00469"></a><span class="lineno">  469</span> </div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/MangleNumberingContext.h:</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/AST/NSAPI.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/Basic/OpenMPKinds.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/OpenMPKinds.def:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/AnalysisBasedWarnings.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/Sema/ExternalSemaSource.h:</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> /home/tstellar/llvm/tools/clang/lib/Sema/../../include/clang/Sema/TypoCorrection.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/Sema/Weak.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/include/llvm/ADT/MapVector.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/Sema/IdentifierResolver.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/Sema/ObjCMethodList.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/Sema/ScopeInfo.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/include/llvm/MC/MCParser/MCAsmParser.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/include/llvm/MC/MCParser/AsmLexer.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/include/llvm/MC/MCParser/MCAsmLexer.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/include/llvm/Support/SMLoc.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/Sema/SemaDiagnostic.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/Basic/DiagnosticSemaKinds.inc:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:32 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/DeclSpec_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DeclSpec_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,2282 @@
+<!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: DeclSpec.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_d527ffe6334522956bc19a2da6aab47c.html">Sema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">DeclSpec.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="DeclSpec_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- DeclSpec.h - Parsed declaration specifiers -------------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><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">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief This file defines the classes used to store parsed information about</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// declaration-specifiers and declarators.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">/// \verbatim</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment">///   static const int volatile x, *y, *(*(*z)[10])(const void *x);</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment">///   ------------------------- -  --  ---------------------------</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment">///     declaration-specifiers  \  |   /</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="comment">///                            declarators</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment">/// \endverbatim</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#ifndef LLVM_CLANG_SEMA_DECLSPEC_H</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_SEMA_DECLSPEC_H</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "<a class="code" href="NestedNameSpecifier_8h.html">clang/AST/NestedNameSpecifier.h</a>"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "<a class="code" href="ExceptionSpecificationType_8h.html" title="Defines the ExceptionSpecificationType enumeration and various utility functions.">clang/Basic/ExceptionSpecificationType.h</a>"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "<a class="code" href="Lambda_8h.html" title="Defines several types used to describe C++ lambda expressions that are shared between the parser and ...">clang/Basic/Lambda.h</a>"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include "<a class="code" href="OperatorKinds_8h.html" title="Defines an enumeration for C++ overloaded operators.">clang/Basic/OperatorKinds.h</a>"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="preprocessor">#include "<a class="code" href="Specifiers_8h.html" title="Defines various enumerations that describe declaration and type specifiers.">clang/Basic/Specifiers.h</a>"</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="preprocessor">#include "<a class="code" href="Token_8h.html">clang/Lex/Token.h</a>"</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="preprocessor">#include "<a class="code" href="AttributeList_8h.html">clang/Sema/AttributeList.h</a>"</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="preprocessor">#include "<a class="code" href="Ownership_8h.html">clang/Sema/Ownership.h</a>"</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="preprocessor">#include "llvm/ADT/SmallVector.h"</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="preprocessor">#include "llvm/Support/Compiler.h"</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="preprocessor">#include "llvm/Support/ErrorHandling.h"</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">class </span>ASTContext;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keyword">class </span>TypeLoc;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">class </span>LangOptions;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keyword">class </span>DiagnosticsEngine;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <span class="keyword">class </span>IdentifierInfo;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="keyword">class </span>NamespaceAliasDecl;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">class </span>NamespaceDecl;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">class </span>NestedNameSpecifier;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="keyword">class </span>NestedNameSpecifierLoc;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   <span class="keyword">class </span>ObjCDeclSpec;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="keyword">class </span>Preprocessor;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keyword">class </span>Sema;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keyword">class </span>Declarator;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="keyword">struct </span>TemplateIdAnnotation;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">/// \brief Represents a C++ nested-name-specifier or a global scope specifier.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">/// These can be in 3 states:</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">///   1) Not present, identified by isEmpty()</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">///   2) Present, identified by isNotEmpty()</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">///      2.a) Valid, idenified by isValid()</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">///      2.b) Invalid, identified by isInvalid().</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment">/// isSet() is deprecated because it mostly corresponded to "valid" but was</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment">/// often used as if it meant "present".</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">/// The actual scope is described by getScopeRep().</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html">   66</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range;  </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   <a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html" title="Class that aids in the construction of nested-name-specifiers along with source-location information ...">NestedNameSpecifierLocBuilder</a> Builder;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">   71</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> &<a class="code" href="classclang_1_1CXXScopeSpec.html#a4cd627def4f36f863b61b77477d137eb">getRange</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Range; }</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a07c6dec36798921ab55e7716795e9751">   72</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a07c6dec36798921ab55e7716795e9751">setRange</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> &R) { Range = R; }</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a5273fdf6642eda0225a9dcd4205e6407">   73</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a5273fdf6642eda0225a9dcd4205e6407">setBeginLoc</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) { Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(Loc); }</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a8ac9360755cd66a5627047ddbd8f4a9a">   74</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a8ac9360755cd66a5627047ddbd8f4a9a">setEndLoc</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) { Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(Loc); }</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a7c9a0b3ec2f55652cd17b37b7008cceb">   75</a></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_1CXXScopeSpec.html#a7c9a0b3ec2f55652cd17b37b7008cceb">getBeginLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(); }</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a8d97dfd4ab5e7e1ba5a966f645338f9f">   76</a></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_1CXXScopeSpec.html#a8d97dfd4ab5e7e1ba5a966f645338f9f">getEndLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(); }</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment"></span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> <span class="comment">  /// \brief Retrieve the representation of the nested-name-specifier.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24">   79</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1NestedNameSpecifier.html" title="Represents a C++ nested name specifier, such as "\::std::vector<int>::".">NestedNameSpecifier</a> *<a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     <span class="keywordflow">return</span> Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#abc9ce572e4353c621fcc23befcde547c" title="Retrieve the representation of the nested-name-specifier.">getRepresentation</a>(); </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">  /// \brief Extend the current nested-name-specifier by another</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">  /// nested-name-specifier component of the form 'type::'.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">  /// \param Context The AST context in which this nested-name-specifier</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">  /// resides.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">  /// \param TemplateKWLoc The location of the 'template' keyword, if present.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> <span class="comment">  /// \param TL The TypeLoc that describes the type preceding the '::'.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> <span class="comment">  /// \param ColonColonLoc The location of the trailing '::'.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <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, <a class="code" href="classclang_1_1TypeLoc.html" title="Base wrapper for a particular "section" of type source info.">TypeLoc</a> TL,</div
 >
+<div class="line"><a name="l00095"></a><span class="lineno">   95</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> ColonColonLoc);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  /// \brief Extend the current nested-name-specifier by another </span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment">  /// nested-name-specifier component of the form 'identifier::'.</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// \param Context The AST context in which this nested-name-specifier</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">  /// resides.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <span class="comment">  /// \param Identifier The identifier.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment">  /// \param IdentifierLoc The location of the identifier.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">  /// \param ColonColonLoc The location of the trailing '::'.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Identifier,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</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="structclang_1_1IdentifierLoc.html" title="Wraps an identifier and optional source location for the identifier.">IdentifierLoc</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> ColonColonLoc);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment"></span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">  /// \brief Extend the current nested-name-specifier by another </span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment">  /// nested-name-specifier component of the form 'namespace::'.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment">  /// \param Context The AST context in which this nested-name-specifier</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment">  /// resides.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment">  /// \param Namespace The namespace.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">  /// \param NamespaceLoc The location of the namespace name.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment">  /// \param ColonColonLoc The location of the trailing '::'.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1NamespaceDecl.html" title="NamespaceDecl - Represent a C++ namespace.">NamespaceDecl</a> *Namespace,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</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> NamespaceLoc, <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> ColonColonLoc);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment"></span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">  /// \brief Extend the current nested-name-specifier by another </span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">  /// nested-name-specifier component of the form 'namespace-alias::'.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment">  /// \param Context The AST context in which this nested-name-specifier</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment">  /// resides.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment">  /// \param Alias The namespace alias.</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">  /// \param AliasLoc The location of the namespace alias </span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">  /// name.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">  /// \param ColonColonLoc The location of the trailing '::'.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#aa764027f4335e606649f1e5a2f40a0bf" title="Extend the current nested-name-specifier by another nested-name-specifier component of the form 'type...">Extend</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1NamespaceAliasDecl.html" title="Represents a C++ namespace alias.">NamespaceAliasDecl</a> *Alias,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</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> AliasLoc, <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> ColonColonLoc);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment"></span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">  /// \brief Turn this (empty) nested-name-specifier into the global</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment">  /// nested-name-specifier '::'.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a639acf1db7b545573c88acddeef0e870" title="Turn this (empty) nested-name-specifier into the global nested-name-specifier '::'.">MakeGlobal</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <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> ColonColonLoc);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> <span class="comment">  /// \brief Make a new nested-name-specifier from incomplete source-location</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> <span class="comment">  /// information.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment">  /// FIXME: This routine should be used very, very rarely, in cases where we</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> <span class="comment">  /// need to synthesize a nested-name-specifier. Most code should instead use</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="comment">  /// \c Adopt() with a proper \c NestedNameSpecifierLoc.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a2faa6035e14578c0845352f27f6203be" title="Make a new nested-name-specifier from incomplete source-location information.">MakeTrivial</a>(<a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1NestedNameSpecifier.html" title="Represents a C++ nested name specifier, such as "\::std::vector<int>::".">NestedNameSpecifier</a> *Qualifier, </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>                    <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> R);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> <span class="comment">  /// \brief Adopt an existing nested-name-specifier (with source-range </span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> <span class="comment">  /// information).</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#affaa2c51e158af0922be6e03da14a04c" title="Adopt an existing nested-name-specifier (with source-range information).">Adopt</a>(<a class="code" href="classclang_1_1NestedNameSpecifierLoc.html" title="A C++ nested-name-specifier augmented with source location information.">NestedNameSpecifierLoc</a> Other);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment">  /// \brief Retrieve a nested-name-specifier with location information, copied</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> <span class="comment">  /// into the given AST context.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment">  /// \param Context The context into which this nested-name-specifier will be</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment">  /// copied.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment"></span>  <a class="code" href="classclang_1_1NestedNameSpecifierLoc.html" title="A C++ nested-name-specifier augmented with source location information.">NestedNameSpecifierLoc</a> <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="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">  /// \brief Retrieve the location of the name in the last qualifier</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">  /// in this nested name specifier.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">  /// For example, the location of \c bar</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment">  /// in</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> <span class="comment">  /// \verbatim</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment">  ///   \::foo::bar<0>::</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> <span class="comment">  ///           ^~~</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment">  /// \endverbatim</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1CXXScopeSpec.html#a43bdefa20e045b10c5caed319981ad16" title="Retrieve the location of the name in the last qualifier in this nested name specifier.">getLastQualifierNameLoc</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> <span class="comment"></span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment">  /// No scope specifier.</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#ae92a40568ee6a10431af2437af862b07">  176</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#ae92a40568ee6a10431af2437af862b07" title="No scope specifier.">isEmpty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !Range.<a class="code" href="classclang_1_1SourceRange.html#acdaac0809b0eec9ce9ec88e1a9da7fb6">isValid</a>(); }<span class="comment"></span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment">  /// A scope specifier is present, but may be valid or invalid.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a22c85914d194b1a4dd94bd10da20023b">  178</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a22c85914d194b1a4dd94bd10da20023b" title="A scope specifier is present, but may be valid or invalid.">isNotEmpty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1CXXScopeSpec.html#ae92a40568ee6a10431af2437af862b07" title="No scope specifier.">isEmpty</a>(); }</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">  /// An error occurred during parsing of the scope specifier.</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a4470b2b22ffe903c05b83ba25d774652">  181</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a4470b2b22ffe903c05b83ba25d774652" title="An error occurred during parsing of the scope specifier.">isInvalid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a22c85914d194b1a4dd94bd10da20023b" title="A scope specifier is present, but may be valid or invalid.">isNotEmpty</a>() && <a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>() == 0; }<span class="comment"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment">  /// A scope specifier is present, and it refers to a real scope.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a1b5492c64a19704d8f8b3373a0be09c7">  183</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a1b5492c64a19704d8f8b3373a0be09c7" title="A scope specifier is present, and it refers to a real scope.">isValid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a22c85914d194b1a4dd94bd10da20023b" title="A scope specifier is present, but may be valid or invalid.">isNotEmpty</a>() && <a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>() != 0; }</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">  /// \brief Indicate that this nested-name-specifier is invalid.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a99236baeff1733215e361430e99ea712">  186</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a99236baeff1733215e361430e99ea712" title="Indicate that this nested-name-specifier is invalid.">SetInvalid</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> R) { </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     assert(R.<a class="code" href="classclang_1_1SourceRange.html#acdaac0809b0eec9ce9ec88e1a9da7fb6">isValid</a>() && <span class="stringliteral">"Must have a valid source range"</span>);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>       Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(R.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>());</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(R.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>());</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a6748303c108c4b4098e61b69df0e6cc5" title="Clear out this builder, and prepare it to build another nested-name-specifier with source-location in...">Clear</a>();</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   }</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  /// Deprecated.  Some call sites intend isNotEmpty() while others intend</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment">  /// isValid().</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">  196</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#ae27d587ba7dae0cfdcdfa2f7f5472c3c">isSet</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#ae880473296a083a62b508203cf9c3f24" title="Retrieve the representation of the nested-name-specifier.">getScopeRep</a>() != 0; }</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#ad0146caf0e994e6d5982566d622ff8f9">  198</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#ad0146caf0e994e6d5982566d622ff8f9">clear</a>() {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     Range = <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>();</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#a6748303c108c4b4098e61b69df0e6cc5" title="Clear out this builder, and prepare it to build another nested-name-specifier with source-location in...">Clear</a>();</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   }</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> <span class="comment"></span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> <span class="comment">  /// \brief Retrieve the data associated with the source-location information.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a0578f74786c4f1ae93880f1233f2de8c">  204</a></span> <span class="comment"></span>  <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1CXXScopeSpec.html#a0578f74786c4f1ae93880f1233f2de8c" title="Retrieve the data associated with the source-location information.">location_data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#ab56bf7c4e0e100aca3772a218c6ec534" title="Retrieve the underlying buffer.">getBuffer</a>().first; }</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">  /// \brief Retrieve the size of the data associated with source-location </span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment">  /// information.</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="classclang_1_1CXXScopeSpec.html#a74cca90d24e71d311f1df76705e34fdf">  208</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1CXXScopeSpec.html#a74cca90d24e71d311f1df76705e34fdf" title="Retrieve the size of the data associated with source-location information.">location_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Builder.<a class="code" href="classclang_1_1NestedNameSpecifierLocBuilder.html#ab56bf7c4e0e100aca3772a218c6ec534" title="Retrieve the underlying buffer.">getBuffer</a>().second; }</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> };</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment"></span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment">/// \brief Captures information about "declaration specifiers".</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> <span class="comment">/// "Declaration specifiers" encompasses storage-class-specifiers,</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> <span class="comment">/// type-specifiers, type-qualifiers, and function-specifiers.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html">  215</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> {</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> <span class="comment">  /// \brief storage-class-specifier</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment">  /// \note The order of these enumerators is important for diagnostics.</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4">  219</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">SCS</a> {</div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">  220</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">SCS_unspecified</a> = 0,</div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">  221</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">SCS_typedef</a>,</div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">  222</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">SCS_extern</a>,</div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4afb75696c1be275c78b89e544a0596a0d">  223</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4afb75696c1be275c78b89e544a0596a0d">SCS_static</a>,</div>
+<div class="line"><a name="l00224"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">  224</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ad59ca598f4220d106b131cf0072bf796">SCS_auto</a>,</div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a9306080f4a4052c6bc3bf6d57a256405">  225</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a9306080f4a4052c6bc3bf6d57a256405">SCS_register</a>,</div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4aaca9afca91d6f11a05432592cb9b0bb1">  226</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4aaca9afca91d6f11a05432592cb9b0bb1">SCS_private_extern</a>,</div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a56cc0939d05f5fcb4dec2de7954260eb">  227</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a56cc0939d05f5fcb4dec2de7954260eb">SCS_mutable</a></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> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="comment">// Import thread storage class specifier enumeration and constants.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   <span class="comment">// These can be combined with SCS_extern and SCS_static.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a11fa54c6a22d45183cd7667acfb601e5">  232</a></span>   <span class="keyword">typedef</span> <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">ThreadStorageClassSpecifier</a> <a class="code" href="classclang_1_1DeclSpec.html#a11fa54c6a22d45183cd7667acfb601e5">TSCS</a>;</div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">  233</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">TSCS_unspecified</a> = <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11ea3b0fbbe7fa53bea291ac093fd1ac7421">clang::TSCS_unspecified</a>;</div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a05b57cc8e8fbb0df263942351c135ad9">  234</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a05b57cc8e8fbb0df263942351c135ad9">TSCS___thread</a> = <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11eac60e3e981ed0ee92e48e419c9677f3ee" title="GNU __thread.">clang::TSCS___thread</a>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad7901bde7cec9b8028646e3881ec09d8">  235</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#ad7901bde7cec9b8028646e3881ec09d8">TSCS_thread_local</a> = <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11ea01a861a1b88585e59a0ff3a24e9fc720">clang::TSCS_thread_local</a>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1dbd1f0bb1f67734cd6d23cf08641cb4">  236</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a1dbd1f0bb1f67734cd6d23cf08641cb4">TSCS__Thread_local</a> = <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11ea3de264d55db94893e59dbe716c16757d">clang::TSCS__Thread_local</a>;</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>   <span class="comment">// Import type specifier width enumeration and constants.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad5c90cf9bba4b66fe8592e27c9c67c80">  239</a></span>   <span class="keyword">typedef</span> <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TypeSpecifierWidth</a> <a class="code" href="classclang_1_1DeclSpec.html#ad5c90cf9bba4b66fe8592e27c9c67c80">TSW</a>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">  240</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a> = <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198a1e4553e440c9bf65bbd0c8ab5f8a58a3">clang::TSW_unspecified</a>;</div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">  241</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> <a class="code" href="classclang_1_1DeclSpec.html#a49c27369566f6460bd474f12f51847fd">TSW_short</a> = <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198a83943adebbdd8a1a3629802ce81dc9b2">clang::TSW_short</a>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa1644e681fa00b55273c482ff459da9f">  242</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> <a class="code" href="classclang_1_1DeclSpec.html#aa1644e681fa00b55273c482ff459da9f">TSW_long</a> = <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198ae28b5433cda8fe3c9182cab1a9c6f633">clang::TSW_long</a>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a0b8e126dc575e03af850eb70d629be39">  243</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> <a class="code" href="classclang_1_1DeclSpec.html#a0b8e126dc575e03af850eb70d629be39">TSW_longlong</a> = <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198aaf41e5603581a126da2c03755772f046">clang::TSW_longlong</a>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   </div>
+<div class="line"><a name="l00245"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">  245</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a> {</div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">  246</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>,</div>
+<div class="line"><a name="l00247"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a284c7bce6be95d78b2ba4538661dc751">  247</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a284c7bce6be95d78b2ba4538661dc751">TSC_imaginary</a>,</div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42ab1d67ec76fc0ee8729d1c3c7b1fdd1fc">  248</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42ab1d67ec76fc0ee8729d1c3c7b1fdd1fc">TSC_complex</a></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   };</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   <span class="comment">// Import type specifier sign enumeration and constants.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a91d26a7fec466d0d06e7ae92dd052228">  252</a></span>   <span class="keyword">typedef</span> <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TypeSpecifierSign</a> <a class="code" href="classclang_1_1DeclSpec.html#a91d26a7fec466d0d06e7ae92dd052228">TSS</a>;</div>
+<div class="line"><a name="l00253"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">  253</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a> <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a> = <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2a92c838be237a3ecb1f8551751aa34b04">clang::TSS_unspecified</a>;</div>
+<div class="line"><a name="l00254"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a61e0d03f6c73b59bec622bcdad231372">  254</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a> <a class="code" href="classclang_1_1DeclSpec.html#a61e0d03f6c73b59bec622bcdad231372">TSS_signed</a> = <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2a3cba497ba9f0ad12a57c5ec737cf2a2c">clang::TSS_signed</a>;</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#abf09946e64ea716302e6c587d00fde12">  255</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a> <a class="code" href="classclang_1_1DeclSpec.html#abf09946e64ea716302e6c587d00fde12">TSS_unsigned</a> = <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2a60b58aebe1d78a1e7d202d339ebef0fc">clang::TSS_unsigned</a>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <span class="comment">// Import type specifier type enumeration and constants.</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">  258</a></span>   <span class="keyword">typedef</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TypeSpecifierType</a> <a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a>;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">  259</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a9cddd2a335e41a13e7dbb6e2489bc30a">clang::TST_unspecified</a>;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab106e879cd36e7ee14ad49949fd06ce8">  260</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ab106e879cd36e7ee14ad49949fd06ce8">TST_void</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13adfe1e136e32e4465b5c49aa9929a5003">clang::TST_void</a>;</div>
+<div class="line"><a name="l00261"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">  261</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a46691b2cf6fb5eec0bb79829c40c7a95">TST_char</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a99ac0b2b9d4cf63e46caa9fddd043ce8">clang::TST_char</a>;</div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aaecf66d5df3c6f1d1d2d6a7e3432f819">  262</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#aaecf66d5df3c6f1d1d2d6a7e3432f819">TST_wchar</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a9559207efd5eb512e636ccee3d467f8a">clang::TST_wchar</a>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a481e440fe8040af7c804e4acd03a6d34">  263</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a481e440fe8040af7c804e4acd03a6d34">TST_char16</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a98fccb7952e86caa0738e6da04b012df">clang::TST_char16</a>;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae03004b8210ac3f5d270a1ff2bd1dca7">  264</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ae03004b8210ac3f5d270a1ff2bd1dca7">TST_char32</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a5be7ebdd8fb4d348bcf2e62a6200036f">clang::TST_char32</a>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">  265</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a4fb6177b24f3515ac5dd81175be31208">TST_int</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad8dd677be54bf7b4678995f776561d15">clang::TST_int</a>;</div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae9ee0d497225cab4bca7cea38e33aa38">  266</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ae9ee0d497225cab4bca7cea38e33aa38">TST_int128</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a43189bb0e2cf00e668b42fc18c4f197d">clang::TST_int128</a>;</div>
+<div class="line"><a name="l00267"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a68bbc30358914070df0253f289648fbc">  267</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a68bbc30358914070df0253f289648fbc">TST_half</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a51b038a744512101c2822da22f20aa50">clang::TST_half</a>;</div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#abccc2c8debbb8138c0a6a18ce36334e7">  268</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#abccc2c8debbb8138c0a6a18ce36334e7">TST_float</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a0ee34ad32fa60a5d25e6fb46894631ee">clang::TST_float</a>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">  269</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a33c619731019f94dab4d566d9ea24807">TST_double</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad775761478e61d51dbdc116d6b18feea">clang::TST_double</a>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a47d318501c7842b2b22e85a9cbb50d88">  270</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a47d318501c7842b2b22e85a9cbb50d88">TST_bool</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13adc9629dec86856c53e4fd2ba4d2a0ed9">clang::TST_bool</a>;</div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#adb827794a8c7d01d67fb83339a026a84">  271</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#adb827794a8c7d01d67fb83339a026a84">TST_decimal32</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a365cb389697fb48745115aafdf5dd023">clang::TST_decimal32</a>;</div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa22cc79ba3bbebd7362f70889210b893">  272</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#aa22cc79ba3bbebd7362f70889210b893">TST_decimal64</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a0dfa80dc9072d6e01c1d8a4189124cf5">clang::TST_decimal64</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae0ed1c1c991f16a0d49028be90a0644b">  273</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ae0ed1c1c991f16a0d49028be90a0644b">TST_decimal128</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13afe54f94360b34fe5d00caa8abc081ead">clang::TST_decimal128</a>;</div>
+<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a80d7c87d1074c9340978900d04df58f3">  274</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a80d7c87d1074c9340978900d04df58f3">TST_enum</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ae55173f1e59e511869a9357dc717aebc">clang::TST_enum</a>;</div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a42d34eb086f3d38dd0c0229bee195f69">  275</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a42d34eb086f3d38dd0c0229bee195f69">TST_union</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ac3a0ed571dbfe00edb38fb29382b69aa">clang::TST_union</a>;</div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aff3e0027194ff7af24e01d0afc7799e9">  276</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#aff3e0027194ff7af24e01d0afc7799e9">TST_struct</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a77f93dd9c20af9b446ea0d85792a94a7">clang::TST_struct</a>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a339c8cd10bf61c221305337b77e26ba0">  277</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a339c8cd10bf61c221305337b77e26ba0">TST_interface</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13af8226e490cc6d28a7e6f67a333b0cfb7">clang::TST_interface</a>;</div>
+<div class="line"><a name="l00278"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9d7b4da81280d6f33a81c41e6acd35c7">  278</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a9d7b4da81280d6f33a81c41e6acd35c7">TST_class</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aac5bf4f6561e430c559d9c24b488b219">clang::TST_class</a>;</div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a0ed31e8e239ed3e00e5181ca7bacf5aa">  279</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a0ed31e8e239ed3e00e5181ca7bacf5aa">TST_typename</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13adf7b6a7abd1467d5eca4163fa2d04ca4">clang::TST_typename</a>;</div>
+<div class="line"><a name="l00280"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af68cba2f3d213cb712955ec74c43c028">  280</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#af68cba2f3d213cb712955ec74c43c028">TST_typeofType</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a81781ccea113f53d674d54596063b4fa">clang::TST_typeofType</a>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a355be5257ce55f545776f26bcfac2c8e">  281</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a355be5257ce55f545776f26bcfac2c8e">TST_typeofExpr</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ade5eea5998a8ec7376d162fb6ba644dd">clang::TST_typeofExpr</a>;</div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a8c54e41beb856810d43483851c0241a1">  282</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a8c54e41beb856810d43483851c0241a1">TST_decltype</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a55670494dc6c74c7e5081f340c79beca">clang::TST_decltype</a>;</div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad767b928a17d93dbdd0e3132e220f527">  283</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ad767b928a17d93dbdd0e3132e220f527">TST_decltype_auto</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13af444f06365cf549c3e828c490ad8a40a">clang::TST_decltype_auto</a>;</div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1a377d94e626678c842cef628f0de32b">  284</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a1a377d94e626678c842cef628f0de32b">TST_underlyingType</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13abbf2e2ca6d6cc461d8472ab06699c65a">clang::TST_underlyingType</a>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">  285</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">TST_auto</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a181187fb12e42d2806a044e0a7f458f4">clang::TST_auto</a>;</div>
+<div class="line"><a name="l00286"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4e11d257bedfadb647ebf2e46143f8c4">  286</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a4e11d257bedfadb647ebf2e46143f8c4">TST_unknown_anytype</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ae467ddf4b0f97d58b0ae024362d55e1e">clang::TST_unknown_anytype</a>;</div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#abd0bd4ad58675486a3de52880f0eb177">  287</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#abd0bd4ad58675486a3de52880f0eb177">TST_atomic</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a45ae7c248799c668264cc8d1f1e4308b">clang::TST_atomic</a>;</div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a08159797d099d185a3f1ba5077acd6e1">  288</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a08159797d099d185a3f1ba5077acd6e1">TST_image1d_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13abc1f6bd680048461b31f3e262a0e999d">clang::TST_image1d_t</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a31f5fa2ca1cca6b25f09da3a726c3c96">  289</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a31f5fa2ca1cca6b25f09da3a726c3c96">TST_image1d_array_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad6e05c6e14adef5dd7cb368f28e5dce5">clang::TST_image1d_array_t</a>;</div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af9953fee4fa250983b21e18baebb14d0">  290</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#af9953fee4fa250983b21e18baebb14d0">TST_image1d_buffer_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a4017de3fb69baea5bac6af34570de284">clang::TST_image1d_buffer_t</a>;</div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a6fef07d6993b4450995548872be0b340">  291</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a6fef07d6993b4450995548872be0b340">TST_image2d_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a44bd36e60c903162aee3fb48e8ad8b16">clang::TST_image2d_t</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a01e0aa5115b36e0ac47bcd7551343ca9">  292</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a01e0aa5115b36e0ac47bcd7551343ca9">TST_image2d_array_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ae3fcdf273b19659e59cc18315ed0828b">clang::TST_image2d_array_t</a>;</div>
+<div class="line"><a name="l00293"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac013d7c33ba58f454e861cc8e466dfcd">  293</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ac013d7c33ba58f454e861cc8e466dfcd">TST_image3d_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13ad3d347d7747f00dcd83218bf68d90747">clang::TST_image3d_t</a>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac1db9ad1334b0c6753a9280fcb61d314">  294</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ac1db9ad1334b0c6753a9280fcb61d314">TST_sampler_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aa5e1eea826c0d0b3d13274624fd37536">clang::TST_sampler_t</a>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a52f6e0e0425e60b801b4122bafc31728">  295</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a52f6e0e0425e60b801b4122bafc31728">TST_event_t</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13a6f624ffd134096e4c0cf17cbc400bbd5">clang::TST_event_t</a>;</div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad986a396df298706c209747e9e939f9d">  296</a></span>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#ad986a396df298706c209747e9e939f9d">TST_error</a> = <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aebd8ccb1b96ebabdfe90b90308dee689">clang::TST_error</a>;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   <span class="comment">// type-qualifiers</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858">  299</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858">TQ</a> {   <span class="comment">// NOTE: These flags must be kept in sync with Qualifiers::TQ.</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858ad4355e0fb665e9f9ea9bec5100069b79">  300</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858ad4355e0fb665e9f9ea9bec5100069b79">TQ_unspecified</a> = 0,</div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a37e97f6b9e2b185e8d3673c6805852a2">  301</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a37e97f6b9e2b185e8d3673c6805852a2">TQ_const</a>       = 1,</div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a940c72c42a27037fd0c002e17406c7da">  302</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a940c72c42a27037fd0c002e17406c7da">TQ_restrict</a>    = 2,</div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858acc41f6b86fe9124e33ea9ae583c34d04">  303</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858acc41f6b86fe9124e33ea9ae583c34d04">TQ_volatile</a>    = 4,</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     <span class="comment">// This has no corresponding Qualifiers::TQ value, because it's not treated</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>     <span class="comment">// as a qualifier in our type system.</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a72437f2a8423fd3d585cd5e139efa580">  306</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a72437f2a8423fd3d585cd5e139efa580">TQ_atomic</a>      = 8</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   };</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> <span class="comment"></span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> <span class="comment">  /// ParsedSpecifiers - Flags to query which specifiers were applied.  This is</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="comment">  /// returned by getParsedSpecifiers.</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8a">  311</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8a">ParsedSpecifiers</a> {</div>
+<div class="line"><a name="l00312"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aaa769a507d26256929f518dd0f7f5843a">  312</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aaa769a507d26256929f518dd0f7f5843a">PQ_None</a>                  = 0,</div>
+<div class="line"><a name="l00313"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa48ae237da8a243fc783d1dd9bcc53fda">  313</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa48ae237da8a243fc783d1dd9bcc53fda">PQ_StorageClassSpecifier</a> = 1,</div>
+<div class="line"><a name="l00314"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa941e59657ec1f388446673b37022983e">  314</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa941e59657ec1f388446673b37022983e">PQ_TypeSpecifier</a>         = 2,</div>
+<div class="line"><a name="l00315"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aaab5bdff224fd8aedbc9072e5546b7839">  315</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aaab5bdff224fd8aedbc9072e5546b7839">PQ_TypeQualifier</a>         = 4,</div>
+<div class="line"><a name="l00316"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa3e0862564e6d08e90e20c49e336f389c">  316</a></span>     <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aa3e0862564e6d08e90e20c49e336f389c">PQ_FunctionSpecifier</a>     = 8</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> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   <span class="comment">// storage-class-specifier</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="comment">/*SCS*/</span><span class="keywordtype">unsigned</span> StorageClassSpec : 3;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="comment">/*TSCS*/</span><span class="keywordtype">unsigned</span> ThreadStorageClassSpec : 2;</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="keywordtype">unsigned</span> SCS_extern_in_linkage_spec : 1;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   <span class="comment">// type-specifier</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   <span class="comment">/*TSW*/</span><span class="keywordtype">unsigned</span> TypeSpecWidth : 2;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <span class="comment">/*TSC*/</span><span class="keywordtype">unsigned</span> TypeSpecComplex : 2;</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>   <span class="comment">/*TSS*/</span><span class="keywordtype">unsigned</span> TypeSpecSign : 2;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="comment">/*TST*/</span><span class="keywordtype">unsigned</span> TypeSpecType : 6;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   <span class="keywordtype">unsigned</span> TypeAltiVecVector : 1;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <span class="keywordtype">unsigned</span> TypeAltiVecPixel : 1;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="keywordtype">unsigned</span> TypeAltiVecBool : 1;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="keywordtype">unsigned</span> TypeSpecOwned : 1;</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>   <span class="comment">// type-qualifiers</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="keywordtype">unsigned</span> TypeQualifiers : 4;  <span class="comment">// Bitwise OR of TQ.</span></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>   <span class="comment">// function-specifier</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="keywordtype">unsigned</span> FS_inline_specified : 1;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keywordtype">unsigned</span> FS_forceinline_specified: 1;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   <span class="keywordtype">unsigned</span> FS_virtual_specified : 1;</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>   <span class="keywordtype">unsigned</span> FS_explicit_specified : 1;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>   <span class="keywordtype">unsigned</span> FS_noreturn_specified : 1;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   <span class="comment">// friend-specifier</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   <span class="keywordtype">unsigned</span> Friend_specified : 1;</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">// constexpr-specifier</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   <span class="keywordtype">unsigned</span> Constexpr_specified : 1;</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>   <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a7b0c9d991a5e46e872084dc643b0ad89">  352</a></span>     <a class="code" href="structclang_1_1UnionOpaquePtr.html">UnionParsedType</a> <a class="code" href="classclang_1_1DeclSpec.html#a7b0c9d991a5e46e872084dc643b0ad89">TypeRep</a>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a23a95400417c2b1e3f17dfafc392bcbe">  353</a></span>     <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1DeclSpec.html#a23a95400417c2b1e3f17dfafc392bcbe">DeclRep</a>;</div>
+<div class="line"><a name="l00354"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a3eae9945ad9f0515b2bda164f3830571">  354</a></span>     <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1DeclSpec.html#a3eae9945ad9f0515b2bda164f3830571">ExprRep</a>;</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> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   <span class="comment">// attributes.</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   <a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> Attrs;</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>   <span class="comment">// Scope specifier for the type spec, if applicable.</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> TypeScope;</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>   <span class="comment">// List of protocol qualifiers for objective-c classes.  Used for</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>   <span class="comment">// protocol-qualified interfaces "NString<foo>" and protocol-qualified id</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>   <span class="comment">// "id<foo>".</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   <a class="code" href="classclang_1_1Decl.html">Decl</a> * <span class="keyword">const</span> *ProtocolQualifiers;</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   <span class="keywordtype">unsigned</span> NumProtocolQualifiers;</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</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> ProtocolLAngleLoc;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</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> *ProtocolLocs;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>   <span class="comment">// SourceLocation info.  These are null if the item wasn't specified or if</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <span class="comment">// the setting was synthesized.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range;</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</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> StorageClassSpecLoc, ThreadStorageClassSpecLoc;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</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> TSWLoc, TSCLoc, TSSLoc, TSTLoc, AltiVecLoc;<span class="comment"></span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> <span class="comment">  /// TSTNameLoc - If TypeSpecType is any of class, enum, struct, union,</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment">  /// typename, then this is the location of the named type (if present);</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="comment">  /// otherwise, it is the same as TSTLoc. Hence, the pair TSTLoc and</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="comment">  /// TSTNameLoc provides source range info for tag types.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> TSTNameLoc;</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> TypeofParensRange;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</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> TQ_constLoc, TQ_restrictLoc, TQ_volatileLoc, TQ_atomicLoc;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</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> FS_inlineLoc, FS_virtualLoc, FS_explicitLoc, FS_noreturnLoc;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</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> FS_forceinlineLoc;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</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> FriendLoc, ModulePrivateLoc, ConstexprLoc;</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>   <a class="code" href="structclang_1_1WrittenBuiltinSpecs.html" title="Structure that packs information about the type specifiers that were written in a particular type spe...">WrittenBuiltinSpecs</a> writtenBS;</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>   <span class="keywordtype">void</span> SaveWrittenBuiltinSpecs();</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <a class="code" href="classclang_1_1ObjCDeclSpec.html" title="Captures information about "declaration specifiers" specific to Objective-C.">ObjCDeclSpec</a> *ObjCQualifiers;</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="keyword">static</span> <span class="keywordtype">bool</span> isTypeRep(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T) {</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>     <span class="keywordflow">return</span> (T == <a class="code" href="classclang_1_1DeclSpec.html#a0ed31e8e239ed3e00e5181ca7bacf5aa">TST_typename</a> || T == <a class="code" href="classclang_1_1DeclSpec.html#af68cba2f3d213cb712955ec74c43c028">TST_typeofType</a> ||</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>             T == <a class="code" href="classclang_1_1DeclSpec.html#a1a377d94e626678c842cef628f0de32b">TST_underlyingType</a> || T == <a class="code" href="classclang_1_1DeclSpec.html#abd0bd4ad58675486a3de52880f0eb177">TST_atomic</a>);</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   }</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isExprRep(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T) {</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     <span class="keywordflow">return</span> (T == <a class="code" href="classclang_1_1DeclSpec.html#a355be5257ce55f545776f26bcfac2c8e">TST_typeofExpr</a> || T == <a class="code" href="classclang_1_1DeclSpec.html#a8c54e41beb856810d43483851c0241a1">TST_decltype</a>);</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> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   DeclSpec(<span class="keyword">const</span> DeclSpec &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   <span class="keywordtype">void</span> operator=(const DeclSpec &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> public:</div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">  404</a></span>   static <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> T) {</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     <span class="keywordflow">return</span> (T == <a class="code" href="classclang_1_1DeclSpec.html#a80d7c87d1074c9340978900d04df58f3">TST_enum</a> || T == <a class="code" href="classclang_1_1DeclSpec.html#aff3e0027194ff7af24e01d0afc7799e9">TST_struct</a> ||</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>             T == <a class="code" href="classclang_1_1DeclSpec.html#a339c8cd10bf61c221305337b77e26ba0">TST_interface</a> || T == <a class="code" href="classclang_1_1DeclSpec.html#a42d34eb086f3d38dd0c0229bee195f69">TST_union</a> ||</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>             T == <a class="code" href="classclang_1_1DeclSpec.html#a9d7b4da81280d6f33a81c41e6acd35c7">TST_class</a>);</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> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a7d0eeb76f361e21d2d9bc0da43f4d43d">  410</a></span>   <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a>(<a class="code" href="classclang_1_1AttributeFactory.html">AttributeFactory</a> &attrFactory)</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     : StorageClassSpec(<a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">SCS_unspecified</a>),</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>       ThreadStorageClassSpec(<a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">TSCS_unspecified</a>),</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>       SCS_extern_in_linkage_spec(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>       TypeSpecWidth(<a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">TSW_unspecified</a>),</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>       TypeSpecComplex(<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">TSC_unspecified</a>),</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>       TypeSpecSign(<a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">TSS_unspecified</a>),</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>       TypeSpecType(<a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">TST_unspecified</a>),</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>       TypeAltiVecVector(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>       TypeAltiVecPixel(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>       TypeAltiVecBool(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       TypeSpecOwned(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>       TypeQualifiers(<a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858ad4355e0fb665e9f9ea9bec5100069b79">TQ_unspecified</a>),</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>       FS_inline_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>       FS_forceinline_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>       FS_virtual_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>       FS_explicit_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>       FS_noreturn_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>       Friend_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>       Constexpr_specified(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>       Attrs(attrFactory),</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>       ProtocolQualifiers(0),</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>       NumProtocolQualifiers(0),</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>       ProtocolLocs(0),</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>       writtenBS(),</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>       ObjCQualifiers(0) {</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   }</div>
+<div class="line"><a name="l00437"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a8f0aa34014fe6ba3e814f6bc22883195">  437</a></span>   <a class="code" href="classclang_1_1DeclSpec.html#a8f0aa34014fe6ba3e814f6bc22883195">~DeclSpec</a>() {</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>     <span class="keyword">delete</span> [] ProtocolQualifiers;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>     <span class="keyword">delete</span> [] ProtocolLocs;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   }</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   <span class="comment">// storage-class-specifier</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a21616b8df7b2fd0305197604ab31ca71">  442</a></span>   <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">SCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a21616b8df7b2fd0305197604ab31ca71">getStorageClassSpec</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">SCS</a>)StorageClassSpec; }</div>
+<div class="line"><a name="l00443"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a3005a209c14bc4666de4294439ca3e33">  443</a></span>   <a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a3005a209c14bc4666de4294439ca3e33">getThreadStorageClassSpec</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>     <span class="keywordflow">return</span> (<a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">TSCS</a>)ThreadStorageClassSpec;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   }</div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa7253aecffee6ce5745314ecc7963292">  446</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#aa7253aecffee6ce5745314ecc7963292">isExternInLinkageSpec</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SCS_extern_in_linkage_spec; }</div>
+<div class="line"><a name="l00447"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad92fdd66955170609f0a86c5b71241d1">  447</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#ad92fdd66955170609f0a86c5b71241d1">setExternInLinkageSpec</a>(<span class="keywordtype">bool</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     SCS_extern_in_linkage_spec = <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>;</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> </div>
+<div class="line"><a name="l00451"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a05cd671221b98918a44c6e28b6bbedc1">  451</a></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_1DeclSpec.html#a05cd671221b98918a44c6e28b6bbedc1">getStorageClassSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> StorageClassSpecLoc; }</div>
+<div class="line"><a name="l00452"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a7d2ff85ac3d0e29082d37ae5f87a57f0">  452</a></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_1DeclSpec.html#a7d2ff85ac3d0e29082d37ae5f87a57f0">getThreadStorageClassSpecLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     <span class="keywordflow">return</span> ThreadStorageClassSpecLoc;</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"><a class="code" href="classclang_1_1DeclSpec.html#a19f2c782115fef841ead93d82bcfffa3">  456</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a19f2c782115fef841ead93d82bcfffa3">ClearStorageClassSpecs</a>() {</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     StorageClassSpec           = <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4ae411a2c98a47cd177a38f33a67487cc0">DeclSpec::SCS_unspecified</a>;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     ThreadStorageClassSpec     = <a class="code" href="classclang_1_1DeclSpec.html#ab401dc1aece0e6eab3b6bbc0a8d3139f">DeclSpec::TSCS_unspecified</a>;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>     SCS_extern_in_linkage_spec = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>     StorageClassSpecLoc        = <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="l00461"></a><span class="lineno">  461</span>     ThreadStorageClassSpecLoc  = <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="l00462"></a><span class="lineno">  462</span>   }</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a04e62b12c94f0946a36adc75b6a8678d">  464</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a04e62b12c94f0946a36adc75b6a8678d">ClearTypeSpecType</a>() {</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     TypeSpecType = <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">DeclSpec::TST_unspecified</a>;</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     TypeSpecOwned = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>     TSTLoc = <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="l00468"></a><span class="lineno">  468</span>   }</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>   <span class="comment">// type-specifier</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a891381e70b33f3e8e459a294ac08d98f">  471</a></span>   <a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a> <a class="code" href="classclang_1_1DeclSpec.html#a891381e70b33f3e8e459a294ac08d98f">getTypeSpecWidth</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">TSW</a>)TypeSpecWidth; }</div>
+<div class="line"><a name="l00472"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a406223027a41b1ddd23001db6367ab7f">  472</a></span>   <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a> <a class="code" href="classclang_1_1DeclSpec.html#a406223027a41b1ddd23001db6367ab7f">getTypeSpecComplex</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a>)TypeSpecComplex; }</div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a657f8e8e9c960d044c8cff9417239f08">  473</a></span>   <a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a> <a class="code" href="classclang_1_1DeclSpec.html#a657f8e8e9c960d044c8cff9417239f08">getTypeSpecSign</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">TSS</a>)TypeSpecSign; }</div>
+<div class="line"><a name="l00474"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">  474</a></span>   <a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a> <a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">getTypeSpecType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>)TypeSpecType; }</div>
+<div class="line"><a name="l00475"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a48d6499b55e34fce8a7555f3886c1238">  475</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a48d6499b55e34fce8a7555f3886c1238">isTypeAltiVecVector</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeAltiVecVector; }</div>
+<div class="line"><a name="l00476"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a77b1121b316d481f800154d1fc193cbe">  476</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a77b1121b316d481f800154d1fc193cbe">isTypeAltiVecPixel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeAltiVecPixel; }</div>
+<div class="line"><a name="l00477"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a3dac7d0e45b0b44c5b283f8a2c689de6">  477</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a3dac7d0e45b0b44c5b283f8a2c689de6">isTypeAltiVecBool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeAltiVecBool; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a4bbe84184e22b050581f44e24c1a022d">  478</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a4bbe84184e22b050581f44e24c1a022d">isTypeSpecOwned</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeSpecOwned; }</div>
+<div class="line"><a name="l00479"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa3fef2e46c3e56525e5cf654f5421d45">  479</a></span>   <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> <a class="code" href="classclang_1_1DeclSpec.html#aa3fef2e46c3e56525e5cf654f5421d45">getRepAsType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>     assert(isTypeRep((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType) && <span class="stringliteral">"DeclSpec does not store a type"</span>);</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#a7b0c9d991a5e46e872084dc643b0ad89">TypeRep</a>;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   }</div>
+<div class="line"><a name="l00483"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae37ea2d7ac65d48bd083cac962000d82">  483</a></span>   <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1DeclSpec.html#ae37ea2d7ac65d48bd083cac962000d82">getRepAsDecl</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>     assert(<a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType) && <span class="stringliteral">"DeclSpec does not store a decl"</span>);</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#a23a95400417c2b1e3f17dfafc392bcbe">DeclRep</a>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>   }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a5d02559e118b62e7a0199809f9471dae">  487</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1DeclSpec.html#a5d02559e118b62e7a0199809f9471dae">getRepAsExpr</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>     assert(isExprRep((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType) && <span class="stringliteral">"DeclSpec does not store an expr"</span>);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#a3eae9945ad9f0515b2bda164f3830571">ExprRep</a>;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   }</div>
+<div class="line"><a name="l00491"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aac9396ae32bf1c5824bcd55335f70e32">  491</a></span>   <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> &<a class="code" href="classclang_1_1DeclSpec.html#aac9396ae32bf1c5824bcd55335f70e32">getTypeSpecScope</a>() { <span class="keywordflow">return</span> TypeScope; }</div>
+<div class="line"><a name="l00492"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a2691a4408850132b842c8050653a1de7">  492</a></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> &<a class="code" href="classclang_1_1DeclSpec.html#a2691a4408850132b842c8050653a1de7">getTypeSpecScope</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeScope; }</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a7b8a30b08c1fa1aac47e417167a8631f">  494</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> &<a class="code" href="classclang_1_1DeclSpec.html#a7b8a30b08c1fa1aac47e417167a8631f">getSourceRange</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Range; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#adb53327cfc82e565627bf8e7ec77049f">  495</a></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_1DeclSpec.html#adb53327cfc82e565627bf8e7ec77049f">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(); }</div>
+<div class="line"><a name="l00496"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a5b04d58bbf167675065225fe32d51be6">  496</a></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_1DeclSpec.html#a5b04d58bbf167675065225fe32d51be6">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(); }</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> </div>
+<div class="line"><a name="l00498"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a921445153cbde2fb2ab237650fb32ca1">  498</a></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_1DeclSpec.html#a921445153cbde2fb2ab237650fb32ca1">getTypeSpecWidthLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TSWLoc; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac8e8c0c48ef6c986125733a4a6c6e059">  499</a></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_1DeclSpec.html#ac8e8c0c48ef6c986125733a4a6c6e059">getTypeSpecComplexLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TSCLoc; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a38b7fe3b91c3fc656c9bed818fbd625a">  500</a></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_1DeclSpec.html#a38b7fe3b91c3fc656c9bed818fbd625a">getTypeSpecSignLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TSSLoc; }</div>
+<div class="line"><a name="l00501"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab3ee52f99feff86eacd8349ff1cb1381">  501</a></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_1DeclSpec.html#ab3ee52f99feff86eacd8349ff1cb1381">getTypeSpecTypeLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TSTLoc; }</div>
+<div class="line"><a name="l00502"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#afd7ec4956ba8658c965be97ff57e1984">  502</a></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_1DeclSpec.html#afd7ec4956ba8658c965be97ff57e1984">getAltiVecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AltiVecLoc; }</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab867b158eb954050cd11e8f01d83fd0e">  504</a></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_1DeclSpec.html#ab867b158eb954050cd11e8f01d83fd0e">getTypeSpecTypeNameLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     assert(<a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType) || TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#a0ed31e8e239ed3e00e5181ca7bacf5aa">TST_typename</a>);</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="keywordflow">return</span> TSTNameLoc;</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> </div>
+<div class="line"><a name="l00509"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab3e38715db55a9b0ce2260de4d135b59">  509</a></span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1DeclSpec.html#ab3e38715db55a9b0ce2260de4d135b59">getTypeofParensRange</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeofParensRange; }</div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad0890caa6a34bcece3a8268e6566f607">  510</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#ad0890caa6a34bcece3a8268e6566f607">setTypeofParensRange</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range) { TypeofParensRange = range; }</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> </div>
+<div class="line"><a name="l00512"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa2996643d905c762a7213b51e959053a">  512</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#aa2996643d905c762a7213b51e959053a">containsPlaceholderType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>     <span class="keywordflow">return</span> TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#afa5232481ceb61f6efe4773005977d08">TST_auto</a> || TypeSpecType == <a class="code" href="classclang_1_1DeclSpec.html#ad767b928a17d93dbdd0e3132e220f527">TST_decltype_auto</a>;</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> </div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ae312c0a325b2ca5857b65f9ac8003dfb">hasTagDefinition</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> <span class="comment"></span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> <span class="comment">  /// \brief Turn a type-specifier-type into a string like "_Bool" or "union".</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">DeclSpec::TST</a> T);</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858">DeclSpec::TQ</a> Q);</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="namespaceclang.html#abfbef64d907e6cc318b38af692636fd2" title="Specifies the signedness of a type, e.g., signed or unsigned.">DeclSpec::TSS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">DeclSpec::TSC</a> C);</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="namespaceclang.html#aac061dd9d63cb89fb5b657633a794198" title="Specifies the width of a type, e.g., short, long, or long long.">DeclSpec::TSW</a> W);</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">DeclSpec::SCS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1DeclSpec.html#aab0f17bd394c2bd409a510ef6c57b965" title="Turn a type-specifier-type into a string like "_Bool" or "union".">getSpecifierName</a>(<a class="code" href="namespaceclang.html#a583fcd7bd4c641e26e303d7db6efa11e" title="Thread storage-class-specifier.">DeclSpec::TSCS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> </div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>   <span class="comment">// type-qualifiers</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> <span class="comment"></span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> <span class="comment">  /// getTypeQualifiers - Return a set of TQs.</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a41d4bf4c8f0a90885b6ce26b5c9bb105">  530</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DeclSpec.html#a41d4bf4c8f0a90885b6ce26b5c9bb105" title="getTypeQualifiers - Return a set of TQs.">getTypeQualifiers</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TypeQualifiers; }</div>
+<div class="line"><a name="l00531"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aeede161c2e7790e4d9ceaca2657af20f">  531</a></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_1DeclSpec.html#aeede161c2e7790e4d9ceaca2657af20f">getConstSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TQ_constLoc; }</div>
+<div class="line"><a name="l00532"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a56f20f9ce57bb74bec1830b38438f8e0">  532</a></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_1DeclSpec.html#a56f20f9ce57bb74bec1830b38438f8e0">getRestrictSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TQ_restrictLoc; }</div>
+<div class="line"><a name="l00533"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a6dc67cc243c1018bc393691cb012c9fd">  533</a></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_1DeclSpec.html#a6dc67cc243c1018bc393691cb012c9fd">getVolatileSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TQ_volatileLoc; }</div>
+<div class="line"><a name="l00534"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a549f689bd1728757d166e567723c7f8f">  534</a></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_1DeclSpec.html#a549f689bd1728757d166e567723c7f8f">getAtomicSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TQ_atomicLoc; }</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> <span class="comment"></span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> <span class="comment">  /// \brief Clear out all of the type qualifiers.</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a746bffb0734fdf73747c2aa19f499063">  537</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a746bffb0734fdf73747c2aa19f499063" title="Clear out all of the type qualifiers.">ClearTypeQualifiers</a>() {</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>     TypeQualifiers = 0;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>     TQ_constLoc = <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="l00540"></a><span class="lineno">  540</span>     TQ_restrictLoc = <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="l00541"></a><span class="lineno">  541</span>     TQ_volatileLoc = <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="l00542"></a><span class="lineno">  542</span>     TQ_atomicLoc = <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="l00543"></a><span class="lineno">  543</span>   }</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> </div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   <span class="comment">// function-specifier</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a45343ccb71784dd91a386b75bc07751e">  546</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a45343ccb71784dd91a386b75bc07751e">isInlineSpecified</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>     <span class="keywordflow">return</span> FS_inline_specified | FS_forceinline_specified;</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   }</div>
+<div class="line"><a name="l00549"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad99c9c8b49484bedd89ba675f7bb3eb9">  549</a></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_1DeclSpec.html#ad99c9c8b49484bedd89ba675f7bb3eb9">getInlineSpecLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>     <span class="keywordflow">return</span> FS_inline_specified ? FS_inlineLoc : FS_forceinlineLoc;</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   }</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> </div>
+<div class="line"><a name="l00553"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a9234ae9cdf23cfdfd2c4c8fc66ff6ff8">  553</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a9234ae9cdf23cfdfd2c4c8fc66ff6ff8">isVirtualSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FS_virtual_specified; }</div>
+<div class="line"><a name="l00554"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a07633ea6f6943cdddba6a86f49c7eda8">  554</a></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_1DeclSpec.html#a07633ea6f6943cdddba6a86f49c7eda8">getVirtualSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FS_virtualLoc; }</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> </div>
+<div class="line"><a name="l00556"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a53afb794ebfeac1db853830c96a38288">  556</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a53afb794ebfeac1db853830c96a38288">isExplicitSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FS_explicit_specified; }</div>
+<div class="line"><a name="l00557"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a41e6bc6bd66c2d447a19111172a2ffd9">  557</a></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_1DeclSpec.html#a41e6bc6bd66c2d447a19111172a2ffd9">getExplicitSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FS_explicitLoc; }</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> </div>
+<div class="line"><a name="l00559"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a411f42e47fcc25cc4e3bd5c87a3edd0e">  559</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a411f42e47fcc25cc4e3bd5c87a3edd0e">isNoreturnSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FS_noreturn_specified; }</div>
+<div class="line"><a name="l00560"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a288612fabc96f59c1ed8d57913822d3e">  560</a></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_1DeclSpec.html#a288612fabc96f59c1ed8d57913822d3e">getNoreturnSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FS_noreturnLoc; }</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa3cb95264e3bf69e7b52ce980a469649">  562</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#aa3cb95264e3bf69e7b52ce980a469649">ClearFunctionSpecs</a>() {</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>     FS_inline_specified = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>     FS_inlineLoc = <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="l00565"></a><span class="lineno">  565</span>     FS_forceinline_specified = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>     FS_forceinlineLoc = <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="l00567"></a><span class="lineno">  567</span>     FS_virtual_specified = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>     FS_virtualLoc = <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="l00569"></a><span class="lineno">  569</span>     FS_explicit_specified = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>     FS_explicitLoc = <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="l00571"></a><span class="lineno">  571</span>     FS_noreturn_specified = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>     FS_noreturnLoc = <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="l00573"></a><span class="lineno">  573</span>   }</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> <span class="comment"></span></div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> <span class="comment">  /// \brief Return true if any type-specifier has been found.</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a469d228c02d73f5dc32456d6990ca778">  576</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a469d228c02d73f5dc32456d6990ca778" title="Return true if any type-specifier has been found.">hasTypeSpecifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">getTypeSpecType</a>() != <a class="code" href="classclang_1_1DeclSpec.html#ac7b75c8498ffe58ffc79763e1548d549">DeclSpec::TST_unspecified</a> ||</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>            <a class="code" href="classclang_1_1DeclSpec.html#a891381e70b33f3e8e459a294ac08d98f">getTypeSpecWidth</a>() != <a class="code" href="classclang_1_1DeclSpec.html#ae1e1ebeb94bae0e65208990795f8de8a">DeclSpec::TSW_unspecified</a> ||</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>            <a class="code" href="classclang_1_1DeclSpec.html#a406223027a41b1ddd23001db6367ab7f">getTypeSpecComplex</a>() != <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42a4acd10aba748ae8fb1905d77663aebec">DeclSpec::TSC_unspecified</a> ||</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>            <a class="code" href="classclang_1_1DeclSpec.html#a657f8e8e9c960d044c8cff9417239f08">getTypeSpecSign</a>() != <a class="code" href="classclang_1_1DeclSpec.html#a92c4abf92e8d8c4c689603b24c252366">DeclSpec::TSS_unspecified</a>;</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>   }</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> <span class="comment"></span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> <span class="comment">  /// \brief Return a bitmask of which flavors of specifiers this</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> <span class="comment">  /// DeclSpec includes.</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DeclSpec.html#aa26256b603b8ac6151b79c3ff6c6bce4" title="Return a bitmask of which flavors of specifiers this DeclSpec includes.">getParsedSpecifiers</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> <span class="comment"></span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> <span class="comment">  /// isEmpty - Return true if this declaration specifier is completely empty:</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> <span class="comment">  /// no tokens were parsed in the production of it.</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac08f67e48eb6115bb5ac0cc9a357bb50">  589</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ac08f67e48eb6115bb5ac0cc9a357bb50">isEmpty</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclSpec.html#aa26256b603b8ac6151b79c3ff6c6bce4" title="Return a bitmask of which flavors of specifiers this DeclSpec includes.">getParsedSpecifiers</a>() == <a class="code" href="classclang_1_1DeclSpec.html#afb17a8617cf89f436b84f6edeecc6c8aaa769a507d26256929f518dd0f7f5843a">DeclSpec::PQ_None</a>;</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>   }</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> </div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a38776fd8ea211cdd4b5bd48660659f4c">  593</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a38776fd8ea211cdd4b5bd48660659f4c">SetRangeStart</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) { Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(Loc); }</div>
+<div class="line"><a name="l00594"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a3008264a9dc987fa770717c59c4f2e7d">  594</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a3008264a9dc987fa770717c59c4f2e7d">SetRangeEnd</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) { Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(Loc); }</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> <span class="comment"></span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span> <span class="comment">  /// These methods set the specified attribute of the DeclSpec and</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> <span class="comment">  /// return false if there was no error.  If an error occurs (for</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span> <span class="comment">  /// example, if we tried to set "auto" on a spec with "extern"</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> <span class="comment">  /// already set), they return true and set PrevSpec and DiagID</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span> <span class="comment">  /// such that</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span> <span class="comment">  ///   Diag(Loc, DiagID) << PrevSpec;</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span> <span class="comment">  /// will yield a useful result.</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> <span class="comment">  /// TODO: use a more general approach that still allows these</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span> <span class="comment">  /// diagnostics to be ignored when desired.</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ab0b2f83fe53e8c73e521d4421cf81539">SetStorageClassSpec</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_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4" title="storage-class-specifier">SCS</a> SC, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>                            <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a2f4cb6b362bf943fe77582223fcceff0">SetStorageClassSpecThread</a>(<a class="code" href="classclang_1_1DeclSpec.html#a11fa54c6a22d45183cd7667acfb601e5">TSCS</a> <a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af672dad7c89050c0caaed5d805657c02">SetTypeSpecWidth</a>(<a class="code" href="classclang_1_1DeclSpec.html#ad5c90cf9bba4b66fe8592e27c9c67c80">TSW</a> W, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>                         <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a538cd1d09d08b6eb786c121da4a704c9">SetTypeSpecComplex</a>(<a class="code" href="classclang_1_1DeclSpec.html#a1bf13f41f67bbe98b35ce04d19b09b42">TSC</a> C, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>                           <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a7143bbfe9fc9b8e3a92949fe664ac0db">SetTypeSpecSign</a>(<a class="code" href="classclang_1_1DeclSpec.html#a91d26a7fec466d0d06e7ae92dd052228">TSS</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>                        <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>                        <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>                        <span class="keywordtype">unsigned</span> &DiagID, <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> Rep);</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>                        <span class="keywordtype">unsigned</span> &DiagID, <a class="code" href="classclang_1_1Decl.html">Decl</a> *Rep, <span class="keywordtype">bool</span> Owned);</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T, <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> TagKwLoc,</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</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> TagNameLoc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>                        <span class="keywordtype">unsigned</span> &DiagID, <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> Rep);</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T, <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> TagKwLoc,</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</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> TagNameLoc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>                        <span class="keywordtype">unsigned</span> &DiagID, <a class="code" href="classclang_1_1Decl.html">Decl</a> *Rep, <span class="keywordtype">bool</span> Owned);</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span> </div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af184ab7eeb4737c8f52ebdd72e49c70c">SetTypeSpecType</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9e4214eb2422a65c305fd8740986590d">TST</a> T, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>                        <span class="keywordtype">unsigned</span> &DiagID, <a class="code" href="classclang_1_1Expr.html">Expr</a> *Rep);</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a830cc30cd6f68487437f0bb9d1708d59">SetTypeAltiVecVector</a>(<span class="keywordtype">bool</span> isAltiVecVector, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a9cc2685edf221d9c282bc9d0913fbc43">SetTypeAltiVecPixel</a>(<span class="keywordtype">bool</span> isAltiVecPixel, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a6643a2cd335622aa76b9ceddc6b8df4e">SetTypeAltiVecBool</a>(<span class="keywordtype">bool</span> isAltiVecBool, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec, <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ac13a78f5d707018b2d5ef035c782dbaa">SetTypeSpecError</a>();</div>
+<div class="line"><a name="l00638"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a05eca8e98ac56e07e4b2bf5270738546">  638</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a05eca8e98ac56e07e4b2bf5270738546">UpdateDeclRep</a>(<a class="code" href="classclang_1_1Decl.html">Decl</a> *Rep) {</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>     assert(<a class="code" href="classclang_1_1DeclSpec.html#a927422591ec86c1ebfd5cd7c75ffad83">isDeclRep</a>((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType));</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>     <a class="code" href="classclang_1_1DeclSpec.html#a23a95400417c2b1e3f17dfafc392bcbe">DeclRep</a> = Rep;</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>   }</div>
+<div class="line"><a name="l00642"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a5967ab23539c1ccd0d58f46a55132b9a">  642</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a5967ab23539c1ccd0d58f46a55132b9a">UpdateTypeRep</a>(<a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> Rep) {</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>     assert(isTypeRep((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType));</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>     <a class="code" href="classclang_1_1DeclSpec.html#a7b0c9d991a5e46e872084dc643b0ad89">TypeRep</a> = Rep;</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   }</div>
+<div class="line"><a name="l00646"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ad5d39c7d9a59e4fb6a8403b51be180e9">  646</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#ad5d39c7d9a59e4fb6a8403b51be180e9">UpdateExprRep</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *Rep) {</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>     assert(isExprRep((<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13" title="Specifies the kind of type.">TST</a>) TypeSpecType));</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>     <a class="code" href="classclang_1_1DeclSpec.html#a3eae9945ad9f0515b2bda164f3830571">ExprRep</a> = Rep;</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>   }</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span> </div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#aae1191d64a50506ff86b2259e4fdf8ef">SetTypeQual</a>(<a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858">TQ</a> T, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>                    <span class="keywordtype">unsigned</span> &DiagID, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &Lang);</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> </div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ae0af5d764273181e11fd6ad08b009957">setFunctionSpecInline</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>                              <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af17c55d33d3b4142f3e0938585352807">setFunctionSpecForceInline</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>                                   <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ada1410ed445689c387ee4e226e0ed414">setFunctionSpecVirtual</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>                               <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a44993153964c366bfeb9c02f066437c2">setFunctionSpecExplicit</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>                                <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a626ddcc8171fed085f763f7e22497d85">setFunctionSpecNoreturn</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>                                <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a3c151c78355c69552c11edb9d4bb2d83">SetFriendSpec</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>                      <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a27436319b7e88584fd99cdf20c5a7aa3">setModulePrivateSpec</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>                             <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#ab890c49b1cbb1bc156baee09047d2cb1">SetConstexprSpec</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec,</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>                         <span class="keywordtype">unsigned</span> &DiagID);</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> </div>
+<div class="line"><a name="l00672"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a102837205c9d404fc55dec8bcf7435e3">  672</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a102837205c9d404fc55dec8bcf7435e3">isFriendSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Friend_specified; }</div>
+<div class="line"><a name="l00673"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a214bf5e44370942a2640bf4a45c972cd">  673</a></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_1DeclSpec.html#a214bf5e44370942a2640bf4a45c972cd">getFriendSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FriendLoc; }</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> </div>
+<div class="line"><a name="l00675"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a50e9b966b1bd51b04e98323bf22a674b">  675</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a50e9b966b1bd51b04e98323bf22a674b">isModulePrivateSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ModulePrivateLoc.<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="l00676"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ac6b5b7285dfb47318fb071351e8b910e">  676</a></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_1DeclSpec.html#ac6b5b7285dfb47318fb071351e8b910e">getModulePrivateSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ModulePrivateLoc; }</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>   </div>
+<div class="line"><a name="l00678"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af31541afc7e8463cae0a1afe9946f1cf">  678</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#af31541afc7e8463cae0a1afe9946f1cf">isConstexprSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Constexpr_specified; }</div>
+<div class="line"><a name="l00679"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1a32fa6b3f88bb530da0755343396a58">  679</a></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_1DeclSpec.html#a1a32fa6b3f88bb530da0755343396a58">getConstexprSpecLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ConstexprLoc; }</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> </div>
+<div class="line"><a name="l00681"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ab7ad94ecf6cafda81d34bf2fa1c349c8">  681</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#ab7ad94ecf6cafda81d34bf2fa1c349c8">ClearConstexprSpec</a>() {</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     Constexpr_specified = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>     ConstexprLoc = <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="l00684"></a><span class="lineno">  684</span>   }</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span> </div>
+<div class="line"><a name="l00686"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a24e4879179b1d16461d4ffe5ae894af5">  686</a></span>   <a class="code" href="classclang_1_1AttributePool.html">AttributePool</a> &<a class="code" href="classclang_1_1DeclSpec.html#a24e4879179b1d16461d4ffe5ae894af5">getAttributePool</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>     <span class="keywordflow">return</span> Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a0bc560881446c33bc5312c1b72f5308b">getPool</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"></span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span> <span class="comment">  /// \brief Concatenates two attribute lists.</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> <span class="comment">  /// The GCC attribute syntax allows for the following:</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span> <span class="comment">  /// short __attribute__(( unused, deprecated ))</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> <span class="comment">  /// int __attribute__(( may_alias, aligned(16) )) var;</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> <span class="comment">  /// This declares 4 attributes using 2 lists. The following syntax is</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span> <span class="comment">  /// also allowed and equivalent to the previous declaration.</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span> <span class="comment">  /// short __attribute__((unused)) __attribute__((deprecated))</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> <span class="comment">  /// int __attribute__((may_alias)) __attribute__((aligned(16))) var;</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00707"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a3d0502211a926f6af922b805ce0f1e3c">  707</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a3d0502211a926f6af922b805ce0f1e3c" title="Concatenates two attribute lists.">addAttributes</a>(<a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *AL) {</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#aa848a250c5ec2cdbeabb02f6cce695e7">addAll</a>(AL);</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>   }</div>
+<div class="line"><a name="l00710"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a6ba8907e5e115c55aa5a05edc2f7c034">  710</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a6ba8907e5e115c55aa5a05edc2f7c034">setAttributes</a>(<a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *AL) {</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>     Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#abc93652e189d447e0cab80d6c978c668">set</a>(AL);</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   }</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> </div>
+<div class="line"><a name="l00714"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a55864bf75a35f285c88d9bbae1d4c041">  714</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a55864bf75a35f285c88d9bbae1d4c041">hasAttributes</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a30d43a6e61891eba38d140071abb24a8">empty</a>(); }</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span> </div>
+<div class="line"><a name="l00716"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a6943e56367dc870afb5ce6b7de04b972">  716</a></span>   <a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> &<a class="code" href="classclang_1_1DeclSpec.html#a6943e56367dc870afb5ce6b7de04b972">getAttributes</a>() { <span class="keywordflow">return</span> Attrs; }</div>
+<div class="line"><a name="l00717"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a0a1e19298d755802ee9ca916bb65ae13">  717</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> &<a class="code" href="classclang_1_1DeclSpec.html#a0a1e19298d755802ee9ca916bb65ae13">getAttributes</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Attrs; }</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span> <span class="comment"></span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span> <span class="comment">  /// \brief Return the current attribute list and remove them from</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span> <span class="comment">  /// the DeclSpec so that it doesn't own them.</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa4451ad8e7592afb7b8f4760418d2fb9">  721</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> <a class="code" href="classclang_1_1DeclSpec.html#aa4451ad8e7592afb7b8f4760418d2fb9" title="Return the current attribute list and remove them from the DeclSpec so that it doesn't own them...">takeAttributes</a>() {</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>     <span class="comment">// The non-const "copy" constructor clears the operand automatically.</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>     <span class="keywordflow">return</span> Attrs;</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>   }</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#af2c90bf49db094ba955821df324218c9">  726</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#af2c90bf49db094ba955821df324218c9">takeAttributesFrom</a>(<a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> &attrs) {</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>     Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a349d4d89c35d9792ef5695d9ae2d2f20">takeAllFrom</a>(attrs);</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>   }</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span> </div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae3721a27d74079b5c0c7114cb03b78cd">  730</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> * <span class="keyword">const</span> *<a class="code" href="classclang_1_1DeclSpec.html#ae3721a27d74079b5c0c7114cb03b78cd">ProtocolQualifierListTy</a>;</div>
+<div class="line"><a name="l00731"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a14e2a109ea86e5afc1b08cd8ab3fe6df">  731</a></span>   <a class="code" href="classclang_1_1DeclSpec.html#ae3721a27d74079b5c0c7114cb03b78cd">ProtocolQualifierListTy</a> <a class="code" href="classclang_1_1DeclSpec.html#a14e2a109ea86e5afc1b08cd8ab3fe6df">getProtocolQualifiers</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>     <span class="keywordflow">return</span> ProtocolQualifiers;</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>   }</div>
+<div class="line"><a name="l00734"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a8f5e953e80a44894163dd2fd54c0bb90">  734</a></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_1DeclSpec.html#a8f5e953e80a44894163dd2fd54c0bb90">getProtocolLocs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ProtocolLocs; }</div>
+<div class="line"><a name="l00735"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a34857e3d60cc5d568bf994272cf70c7e">  735</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DeclSpec.html#a34857e3d60cc5d568bf994272cf70c7e">getNumProtocolQualifiers</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>     <span class="keywordflow">return</span> NumProtocolQualifiers;</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>   }</div>
+<div class="line"><a name="l00738"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#ae364e3aff58275c87200bbc3196154fd">  738</a></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_1DeclSpec.html#ae364e3aff58275c87200bbc3196154fd">getProtocolLAngleLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ProtocolLAngleLoc; }</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#ab69153a946e9f04aac5878a7d7278695">setProtocolQualifiers</a>(<a class="code" href="classclang_1_1Decl.html">Decl</a> * <span class="keyword">const</span> *Protos, <span class="keywordtype">unsigned</span> NP,</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</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> *ProtoLocs,</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</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> LAngleLoc);</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span> <span class="comment"></span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span> <span class="comment">  /// Finish - This does final analysis of the declspec, issuing diagnostics for</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span> <span class="comment">  /// things like "_Imaginary" (lacking an FP type).  After calling this method,</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span> <span class="comment">  /// DeclSpec is guaranteed self-consistent, even if an error occurred.</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a0fa092492d6de7c1bafe7aa65284364b">Finish</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &D, <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP);</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span> </div>
+<div class="line"><a name="l00748"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aa812525890f517868d53fd55faab9613">  748</a></span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1WrittenBuiltinSpecs.html" title="Structure that packs information about the type specifiers that were written in a particular type spe...">WrittenBuiltinSpecs</a>& <a class="code" href="classclang_1_1DeclSpec.html#aa812525890f517868d53fd55faab9613">getWrittenBuiltinSpecs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>     <span class="keywordflow">return</span> writtenBS;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>   }</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span> </div>
+<div class="line"><a name="l00752"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#aef7ba63d6dd1acf037a36ff8e6f7f290">  752</a></span>   <a class="code" href="classclang_1_1ObjCDeclSpec.html" title="Captures information about "declaration specifiers" specific to Objective-C.">ObjCDeclSpec</a> *<a class="code" href="classclang_1_1DeclSpec.html#aef7ba63d6dd1acf037a36ff8e6f7f290">getObjCQualifiers</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ObjCQualifiers; }</div>
+<div class="line"><a name="l00753"></a><span class="lineno"><a class="code" href="classclang_1_1DeclSpec.html#a1361c4d4e1fbcd74e383bffda9047f69">  753</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclSpec.html#a1361c4d4e1fbcd74e383bffda9047f69">setObjCQualifiers</a>(<a class="code" href="classclang_1_1ObjCDeclSpec.html" title="Captures information about "declaration specifiers" specific to Objective-C.">ObjCDeclSpec</a> *quals) { ObjCQualifiers = quals; }</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span> <span class="comment"></span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> <span class="comment">  /// \brief Checks if this DeclSpec can stand alone, without a Declarator.</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span> <span class="comment">  /// Only tag declspecs can stand alone.</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclSpec.html#a56cadb21a3f15f2b35527dccfc5f9b50" title="Checks if this DeclSpec can stand alone, without a Declarator.">isMissingDeclaratorOk</a>();</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span> };</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> <span class="comment"></span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> <span class="comment">/// \brief Captures information about "declaration specifiers" specific to</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span> <span class="comment">/// Objective-C.</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html">  763</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ObjCDeclSpec.html" title="Captures information about "declaration specifiers" specific to Objective-C.">ObjCDeclSpec</a> {</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span> <span class="comment">  /// ObjCDeclQualifier - Qualifier used on types in method</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span> <span class="comment">  /// declarations.  Not all combinations are sensible.  Parameters</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span> <span class="comment">  /// can be one of { in, out, inout } with one of { bycopy, byref }.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span> <span class="comment">  /// Returns can either be { oneway } or not.</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span> <span class="comment">  /// This should be kept in sync with Decl::ObjCDeclQualifier.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683">  771</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683">ObjCDeclQualifier</a> {</div>
+<div class="line"><a name="l00772"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683aae68fd1e2c1d98394abe0cdac8ee0741">  772</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683aae68fd1e2c1d98394abe0cdac8ee0741">DQ_None</a> = 0x0,</div>
+<div class="line"><a name="l00773"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a5109e3f188590094f728080971f6631b">  773</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a5109e3f188590094f728080971f6631b">DQ_In</a> = 0x1,</div>
+<div class="line"><a name="l00774"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683af2d90695cbf56b82a5b7aaeeb7547942">  774</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683af2d90695cbf56b82a5b7aaeeb7547942">DQ_Inout</a> = 0x2,</div>
+<div class="line"><a name="l00775"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a43d9da4544c0b6bfea26bc2f299303c0">  775</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a43d9da4544c0b6bfea26bc2f299303c0">DQ_Out</a> = 0x4,</div>
+<div class="line"><a name="l00776"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a93a8d071c52686c89f38d77a4ac374b2">  776</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a93a8d071c52686c89f38d77a4ac374b2">DQ_Bycopy</a> = 0x8,</div>
+<div class="line"><a name="l00777"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a7f2876cf3bd0fde45e101f8f3a7055d0">  777</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683a7f2876cf3bd0fde45e101f8f3a7055d0">DQ_Byref</a> = 0x10,</div>
+<div class="line"><a name="l00778"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683aaee868adb43ca7459b91d7e1ae190806">  778</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683aaee868adb43ca7459b91d7e1ae190806">DQ_Oneway</a> = 0x20</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>   };</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span> <span class="comment"></span></div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span> <span class="comment">  /// PropertyAttributeKind - list of property attributes.</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076e">  782</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076e" title="PropertyAttributeKind - list of property attributes.">ObjCPropertyAttributeKind</a> {</div>
+<div class="line"><a name="l00783"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea54089a0e48f77287a05f67bd7995fec2">  783</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea54089a0e48f77287a05f67bd7995fec2">DQ_PR_noattr</a> = 0x0,</div>
+<div class="line"><a name="l00784"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea6670cb1eb4fdf3be1fb8b2a4b50a9469">  784</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea6670cb1eb4fdf3be1fb8b2a4b50a9469">DQ_PR_readonly</a> = 0x01,</div>
+<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea169831cad04669fed7359d7ec9b8fd12">  785</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea169831cad04669fed7359d7ec9b8fd12">DQ_PR_getter</a> = 0x02,</div>
+<div class="line"><a name="l00786"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea21e6ab8ff00919ac24fbbef723b1f221">  786</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea21e6ab8ff00919ac24fbbef723b1f221">DQ_PR_assign</a> = 0x04,</div>
+<div class="line"><a name="l00787"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eadd3236c931b1c11d2e301902133420a4">  787</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eadd3236c931b1c11d2e301902133420a4">DQ_PR_readwrite</a> = 0x08,</div>
+<div class="line"><a name="l00788"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eaa5fa6f12ec888f4a9fb496d2f9c1166b">  788</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eaa5fa6f12ec888f4a9fb496d2f9c1166b">DQ_PR_retain</a> = 0x10,</div>
+<div class="line"><a name="l00789"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eac194171a9c42c6d379fd5c85c2e99193">  789</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eac194171a9c42c6d379fd5c85c2e99193">DQ_PR_copy</a> = 0x20,</div>
+<div class="line"><a name="l00790"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea66eb92a2e80a59b98098f1d3a1018a46">  790</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea66eb92a2e80a59b98098f1d3a1018a46">DQ_PR_nonatomic</a> = 0x40,</div>
+<div class="line"><a name="l00791"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea75d33da549161c49b9c68bac97e48e08">  791</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea75d33da549161c49b9c68bac97e48e08">DQ_PR_setter</a> = 0x80,</div>
+<div class="line"><a name="l00792"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eaf7065dbbffb902f735039acdc27c5e27">  792</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076eaf7065dbbffb902f735039acdc27c5e27">DQ_PR_atomic</a> = 0x100,</div>
+<div class="line"><a name="l00793"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea687a3a62a65337ea2ef32c97efda8d4e">  793</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea687a3a62a65337ea2ef32c97efda8d4e">DQ_PR_weak</a> =   0x200,</div>
+<div class="line"><a name="l00794"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea4dea2c135e1d002415ebced4bf1ea54f">  794</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea4dea2c135e1d002415ebced4bf1ea54f">DQ_PR_strong</a> = 0x400,</div>
+<div class="line"><a name="l00795"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea628b0bb8dec9bc465ec2670ab322fa66">  795</a></span>     <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea628b0bb8dec9bc465ec2670ab322fa66">DQ_PR_unsafe_unretained</a> = 0x800</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>   };</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span> </div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span> </div>
+<div class="line"><a name="l00799"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#aa125517a36a3781ba4fcc032d8996620">  799</a></span>   <a class="code" href="classclang_1_1ObjCDeclSpec.html#aa125517a36a3781ba4fcc032d8996620">ObjCDeclSpec</a>()</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>     : objcDeclQualifier(<a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683aae68fd1e2c1d98394abe0cdac8ee0741">DQ_None</a>), PropertyAttributes(<a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076ea54089a0e48f77287a05f67bd7995fec2">DQ_PR_noattr</a>),</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>       GetterName(0), SetterName(0) { }</div>
+<div class="line"><a name="l00802"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#aeccb8414d3438a635bb9c89247784cfd">  802</a></span>   <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683">ObjCDeclQualifier</a> <a class="code" href="classclang_1_1ObjCDeclSpec.html#aeccb8414d3438a635bb9c89247784cfd">getObjCDeclQualifier</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> objcDeclQualifier; }</div>
+<div class="line"><a name="l00803"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a0e0d4b171ed857e79e83c5b768338590">  803</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a0e0d4b171ed857e79e83c5b768338590">setObjCDeclQualifier</a>(<a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683">ObjCDeclQualifier</a> DQVal) {</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>     objcDeclQualifier = (<a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683">ObjCDeclQualifier</a>) (objcDeclQualifier | DQVal);</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>   }</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span> </div>
+<div class="line"><a name="l00807"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a9eb817fc04b06ef3e618d42709d27334">  807</a></span>   <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076e" title="PropertyAttributeKind - list of property attributes.">ObjCPropertyAttributeKind</a> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a9eb817fc04b06ef3e618d42709d27334">getPropertyAttributes</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076e" title="PropertyAttributeKind - list of property attributes.">ObjCPropertyAttributeKind</a>(PropertyAttributes);</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>   }</div>
+<div class="line"><a name="l00810"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#aa188fe5c43e0647193311c732f6dde69">  810</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#aa188fe5c43e0647193311c732f6dde69">setPropertyAttributes</a>(<a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076e" title="PropertyAttributeKind - list of property attributes.">ObjCPropertyAttributeKind</a> PRVal) {</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>     PropertyAttributes =</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>       (<a class="code" href="classclang_1_1ObjCDeclSpec.html#a062ec7a6afefc663f811bdcc03a7076e" title="PropertyAttributeKind - list of property attributes.">ObjCPropertyAttributeKind</a>)(PropertyAttributes | PRVal);</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> </div>
+<div class="line"><a name="l00815"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#abadc0d95af66c880f1b73ae5063533f8">  815</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1ObjCDeclSpec.html#abadc0d95af66c880f1b73ae5063533f8">getGetterName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> GetterName; }</div>
+<div class="line"><a name="l00816"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#aaa062036ef3a427677b172b69c5097a7">  816</a></span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1ObjCDeclSpec.html#aaa062036ef3a427677b172b69c5097a7">getGetterName</a>() { <span class="keywordflow">return</span> GetterName; }</div>
+<div class="line"><a name="l00817"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a80c83e619a43e5559b703554747b0a46">  817</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a80c83e619a43e5559b703554747b0a46">setGetterName</a>(<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *name) { GetterName = name; }</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span> </div>
+<div class="line"><a name="l00819"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#ac5c6de38484f0ca63c3b39b58edeb068">  819</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1ObjCDeclSpec.html#ac5c6de38484f0ca63c3b39b58edeb068">getSetterName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SetterName; }</div>
+<div class="line"><a name="l00820"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#ae03e004e0f1aaf801557219780eebc83">  820</a></span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1ObjCDeclSpec.html#ae03e004e0f1aaf801557219780eebc83">getSetterName</a>() { <span class="keywordflow">return</span> SetterName; }</div>
+<div class="line"><a name="l00821"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCDeclSpec.html#a8cbfd0c7087dbbf0a5dcacfe52b95ea0">  821</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ObjCDeclSpec.html#a8cbfd0c7087dbbf0a5dcacfe52b95ea0">setSetterName</a>(<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *name) { SetterName = name; }</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span> </div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>   <span class="comment">// FIXME: These two are unrelated and mutially exclusive. So perhaps</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>   <span class="comment">// we can put them in a union to reflect their mutual exclusiveness</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>   <span class="comment">// (space saving is negligible).</span></div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>   <a class="code" href="classclang_1_1ObjCDeclSpec.html#a49591ce3aa0a2637d81b11a2f5148683">ObjCDeclQualifier</a> objcDeclQualifier : 6;</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span> </div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>   <span class="comment">// NOTE: VC++ treats enums as signed, avoid using ObjCPropertyAttributeKind</span></div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>   <span class="keywordtype">unsigned</span> PropertyAttributes : 12;</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *GetterName;    <span class="comment">// getter name of NULL if no getter</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *SetterName;    <span class="comment">// setter name of NULL if no setter</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span> };</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span> <span class="comment"></span></div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span> <span class="comment">/// \brief Represents a C++ unqualified-id that has been parsed. </span></div>
+<div class="line"><a name="l00836"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html">  836</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> {</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>   <a class="code" href="classclang_1_1UnqualifiedId.html#a300d011a676c597065d294b86848a079">UnqualifiedId</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> &Other) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> &operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> </div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span> <span class="comment">  /// \brief Describes the kind of unqualified-id parsed.</span></div>
+<div class="line"><a name="l00843"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11b">  843</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11b" title="Describes the kind of unqualified-id parsed.">IdKind</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span> <span class="comment">    /// \brief An identifier.</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de">  845</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">IK_Identifier</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span> <span class="comment">    /// \brief An overloaded operator name, e.g., operator+.</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11baa800987c672a13051901651e702b149a">  847</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11baa800987c672a13051901651e702b149a" title="An overloaded operator name, e.g., operator+.">IK_OperatorFunctionId</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span> <span class="comment">    /// \brief A conversion function name, e.g., operator int.</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba9b848e0488f8e2d9cf5c53d45bcaa266">  849</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba9b848e0488f8e2d9cf5c53d45bcaa266" title="A conversion function name, e.g., operator int.">IK_ConversionFunctionId</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span> <span class="comment">    /// \brief A user-defined literal name, e.g., operator "" _i.</span></div>
+<div class="line"><a name="l00851"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba34620753f8bbee46c37d7a62dc9809ec">  851</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba34620753f8bbee46c37d7a62dc9809ec" title="A user-defined literal name, e.g., operator "" _i.">IK_LiteralOperatorId</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span> <span class="comment">    /// \brief A constructor name.</span></div>
+<div class="line"><a name="l00853"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba254f2b89641948cd1176189d972993bf">  853</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba254f2b89641948cd1176189d972993bf" title="A constructor name.">IK_ConstructorName</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span> <span class="comment">    /// \brief A constructor named via a template-id.</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba08e7e497c921c64dc93a2066c913def7">  855</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba08e7e497c921c64dc93a2066c913def7" title="A constructor named via a template-id.">IK_ConstructorTemplateId</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span> <span class="comment">    /// \brief A destructor name.</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11bab6c68b3724b7a3219cb37a648a3ca353">  857</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11bab6c68b3724b7a3219cb37a648a3ca353" title="A destructor name.">IK_DestructorName</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span> <span class="comment">    /// \brief A template-id, e.g., f<int>.</span></div>
+<div class="line"><a name="l00859"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba1fa17f9404850cf66dacb34bd91f9be4">  859</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba1fa17f9404850cf66dacb34bd91f9be4" title="A template-id, e.g., f<int>.">IK_TemplateId</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> <span class="comment">    /// \brief An implicit 'self' parameter</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba32e24a912d02270eea2f8dd65b63fc74">  861</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba32e24a912d02270eea2f8dd65b63fc74" title="An implicit 'self' parameter.">IK_ImplicitSelfParam</a></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>   } <a class="code" href="classclang_1_1UnqualifiedId.html#a35ad7f12db2798f070c1a344543e1dfe">Kind</a>;</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> </div>
+<div class="line"><a name="l00864"></a><span class="lineno"><a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html">  864</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html">OFI</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span> <span class="comment">    /// \brief The kind of overloaded operator.</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno"><a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html#a8d934fcf105e9d0a0824be6b172c94aa">  866</a></span> <span class="comment"></span>    <a class="code" href="namespaceclang.html#ad937c281bb5b868d30a72c9bf137baf6" title="Enumeration specifying the different kinds of C++ overloaded operators.">OverloadedOperatorKind</a> <a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html#a8d934fcf105e9d0a0824be6b172c94aa" title="The kind of overloaded operator.">Operator</a>;</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span> <span class="comment"></span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span> <span class="comment">    /// \brief The source locations of the individual tokens that name</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> <span class="comment">    /// the operator, e.g., the "new", "[", and "]" tokens in </span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> <span class="comment">    /// operator new []. </span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span> <span class="comment">    /// Different operators have different numbers of tokens in their name,</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span> <span class="comment">    /// up to three. Any remaining source locations in this array will be</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span> <span class="comment">    /// set to an invalid value for operators with fewer than three tokens.</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno"><a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html#a74dca4fe1782620fd75423db40b30f67">  875</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html#a74dca4fe1782620fd75423db40b30f67" title="The source locations of the individual tokens that name the operator, e.g., the "new", "[", and "]" tokens in operator new [].">SymbolLocations</a>[3];</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>   };</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span> <span class="comment"></span></div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span> <span class="comment">  /// \brief Anonymous union that holds extra data associated with the</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span> <span class="comment">  /// parsed unqualified-id.</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span> <span class="comment"></span>  <span class="keyword">union </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span> <span class="comment">    /// \brief When Kind == IK_Identifier, the parsed identifier, or when Kind</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span> <span class="comment">    /// == IK_UserLiteralId, the identifier suffix.</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91">  883</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a>;</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span> <span class="comment">    /// \brief When Kind == IK_OperatorFunctionId, the overloaded operator</span></div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span> <span class="comment">    /// that we parsed.</span></div>
+<div class="line"><a name="l00887"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a0c039dc691d9b94421a0e02089c64d8e">  887</a></span> <span class="comment"></span>    <span class="keyword">struct </span><a class="code" href="structclang_1_1UnqualifiedId_1_1OFI.html">OFI</a> <a class="code" href="classclang_1_1UnqualifiedId.html#a0c039dc691d9b94421a0e02089c64d8e" title="When Kind == IK_OperatorFunctionId, the overloaded operator that we parsed.">OperatorFunctionId</a>;</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span> <span class="comment">    /// \brief When Kind == IK_ConversionFunctionId, the type that the </span></div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span> <span class="comment">    /// conversion function names.</span></div>
+<div class="line"><a name="l00891"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a0e1fd4237bfd56b557ed5d15dfd44edd">  891</a></span> <span class="comment"></span>    <a class="code" href="structclang_1_1UnionOpaquePtr.html">UnionParsedType</a> <a class="code" href="classclang_1_1UnqualifiedId.html#a0e1fd4237bfd56b557ed5d15dfd44edd" title="When Kind == IK_ConversionFunctionId, the type that the conversion function names.">ConversionFunctionId</a>;</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span> <span class="comment"></span></div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span> <span class="comment">    /// \brief When Kind == IK_ConstructorName, the class-name of the type</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span> <span class="comment">    /// whose constructor is being referenced.</span></div>
+<div class="line"><a name="l00895"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a21fb226a6633f733fbf4dc9f041a370a">  895</a></span> <span class="comment"></span>    <a class="code" href="structclang_1_1UnionOpaquePtr.html">UnionParsedType</a> <a class="code" href="classclang_1_1UnqualifiedId.html#a21fb226a6633f733fbf4dc9f041a370a" title="When Kind == IK_ConstructorName, the class-name of the type whose constructor is being referenced...">ConstructorName</a>;</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span> <span class="comment">    /// \brief When Kind == IK_DestructorName, the type referred to by the</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span> <span class="comment">    /// class-name.</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#ab35168f84713ebfeaf6a6d27ada37245">  899</a></span> <span class="comment"></span>    <a class="code" href="structclang_1_1UnionOpaquePtr.html">UnionParsedType</a> <a class="code" href="classclang_1_1UnqualifiedId.html#ab35168f84713ebfeaf6a6d27ada37245" title="When Kind == IK_DestructorName, the type referred to by the class-name.">DestructorName</a>;</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span> <span class="comment">    /// \brief When Kind == IK_TemplateId or IK_ConstructorTemplateId,</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span> <span class="comment">    /// the template-id annotation that contains the template name and</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span> <span class="comment">    /// template arguments.</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#afb6aa425ddb66533db9a8c6602ea8e32">  904</a></span> <span class="comment"></span>    <a class="code" href="structclang_1_1TemplateIdAnnotation.html" title="Information about a template-id annotation token.">TemplateIdAnnotation</a> *<a class="code" href="classclang_1_1UnqualifiedId.html#afb6aa425ddb66533db9a8c6602ea8e32" title="When Kind == IK_TemplateId or IK_ConstructorTemplateId, the template-id annotation that contains the ...">TemplateId</a>;</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</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">  /// \brief The location of the first token that describes this unqualified-id,</span></div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span> <span class="comment">  /// which will be the location of the identifier, "operator" keyword,</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span> <span class="comment">  /// tilde (for a destructor), or the template name of a template-id.</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812">  910</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a>;</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span> <span class="comment">  /// \brief The location of the last token that describes this unqualified-id.</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff">  913</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a>;</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>   </div>
+<div class="line"><a name="l00915"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a300d011a676c597065d294b86848a079">  915</a></span>   <a class="code" href="classclang_1_1UnqualifiedId.html#a300d011a676c597065d294b86848a079">UnqualifiedId</a>() : <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(<a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">IK_Identifier</a>), <a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a>(0) { }</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span> <span class="comment"></span></div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span> <span class="comment">  /// \brief Clear out this unqualified-id, setting it to default (invalid) </span></div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span> <span class="comment">  /// state.</span></div>
+<div class="line"><a name="l00919"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#ae2e485cafc27893a12bcec8ad0bff452">  919</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#ae2e485cafc27893a12bcec8ad0bff452" title="Clear out this unqualified-id, setting it to default (invalid) state.">clear</a>() {</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">IK_Identifier</a>;</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a> = 0;</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>();</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>();</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>   }</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> <span class="comment">  /// \brief Determine whether this unqualified-id refers to a valid name.</span></div>
+<div class="line"><a name="l00927"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a7f388ac8c50bd4e934a5b3afc0fb8f52">  927</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a7f388ac8c50bd4e934a5b3afc0fb8f52" title="Determine whether this unqualified-id refers to a valid name.">isValid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a>.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>(); }</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span> <span class="comment"></span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span> <span class="comment">  /// \brief Determine whether this unqualified-id refers to an invalid name.</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#abca93378c89221e5c575b0ad6ac240f2">  930</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1UnqualifiedId.html#abca93378c89221e5c575b0ad6ac240f2" title="Determine whether this unqualified-id refers to an invalid name.">isInvalid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1UnqualifiedId.html#a7f388ac8c50bd4e934a5b3afc0fb8f52" title="Determine whether this unqualified-id refers to a valid name.">isValid</a>(); }</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span> <span class="comment">  /// \brief Determine what kind of name we have.</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#afe84a760cca9962b8873d220aaa0a479">  933</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11b" title="Describes the kind of unqualified-id parsed.">IdKind</a> <a class="code" href="classclang_1_1UnqualifiedId.html#afe84a760cca9962b8873d220aaa0a479" title="Determine what kind of name we have.">getKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a35ad7f12db2798f070c1a344543e1dfe">Kind</a>; }</div>
+<div class="line"><a name="l00934"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#ae911f53d5f164fc757a0abc529d52766">  934</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#ae911f53d5f164fc757a0abc529d52766">setKind</a>(<a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11b" title="Describes the kind of unqualified-id parsed.">IdKind</a> <a class="code" href="namespaceclang_1_1diag.html#ab2f7277bc45b970f4b9631e0617ff02c" title="All of the diagnostics that can be emitted by the frontend.">kind</a>) { <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1diag.html#ab2f7277bc45b970f4b9631e0617ff02c" title="All of the diagnostics that can be emitted by the frontend.">kind</a>; } </div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as an identifier.</span></div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> <span class="comment">  /// \param Id the parsed identifier.</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span> <span class="comment">  /// \param IdLoc the location of the parsed identifier.</span></div>
+<div class="line"><a name="l00940"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a20feecdc75f0d057e2b280446a03988e">  940</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a20feecdc75f0d057e2b280446a03988e" title="Specify that this unqualified-id was parsed as an identifier.">setIdentifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Id, <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> IdLoc) {</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">IK_Identifier</a>;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a> = <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<span class="keyword">></span>(Id);</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = IdLoc;</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>   }</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as an </span></div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span> <span class="comment">  /// operator-function-id.</span></div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span> <span class="comment">  /// \param OperatorLoc the location of the 'operator' keyword.</span></div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span> <span class="comment">  /// \param Op the overloaded operator.</span></div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span> <span class="comment">  /// \param SymbolLocations the locations of the individual operator symbols</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span> <span class="comment">  /// in the operator.</span></div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a3d0dddb9189b381ace529436164cfa86" title="Specify that this unqualified-id was parsed as an operator-function-id.">setOperatorFunctionId</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> OperatorLoc, </div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>                              <a class="code" href="namespaceclang.html#ad937c281bb5b868d30a72c9bf137baf6" title="Enumeration specifying the different kinds of C++ overloaded operators.">OverloadedOperatorKind</a> Op,</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</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> SymbolLocations[3]);</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as a </span></div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span> <span class="comment">  /// conversion-function-id.</span></div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> <span class="comment">  /// \param OperatorLoc the location of the 'operator' keyword.</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span> <span class="comment">  /// \param Ty the type to which this conversion function is converting.</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span> <span class="comment">  /// \param EndLoc the location of the last token that makes up the type name.</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a811ed0d637567ea4b0ca65a4ceb3f2d1">  967</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a811ed0d637567ea4b0ca65a4ceb3f2d1" title="Specify that this unqualified-id was parsed as a conversion-function-id.">setConversionFunctionId</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> OperatorLoc, </div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>                                <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> Ty,</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>                                <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EndLoc) {</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba9b848e0488f8e2d9cf5c53d45bcaa266" title="A conversion function name, e.g., operator int.">IK_ConversionFunctionId</a>;</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = OperatorLoc;</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = EndLoc;</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a0e1fd4237bfd56b557ed5d15dfd44edd" title="When Kind == IK_ConversionFunctionId, the type that the conversion function names.">ConversionFunctionId</a> = Ty;</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>   }</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span> <span class="comment"></span></div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span> <span class="comment">  /// \brief Specific that this unqualified-id was parsed as a</span></div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span> <span class="comment">  /// literal-operator-id.</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span> <span class="comment">  /// \param Id the parsed identifier.</span></div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span> <span class="comment">  /// \param OpLoc the location of the 'operator' keyword.</span></div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span> <span class="comment">  /// \param IdLoc the location of the identifier.</span></div>
+<div class="line"><a name="l00984"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a14d1144e1a3d8410962004e08671db1c">  984</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a14d1144e1a3d8410962004e08671db1c" title="Specific that this unqualified-id was parsed as a literal-operator-id.">setLiteralOperatorId</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Id, <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="l00985"></a><span class="lineno">  985</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> IdLoc) {</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba34620753f8bbee46c37d7a62dc9809ec" title="A user-defined literal name, e.g., operator "" _i.">IK_LiteralOperatorId</a>;</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a> = <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<span class="keyword">></span>(Id);</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = OpLoc;</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = IdLoc;</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>   }</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as a constructor name.</span></div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span> <span class="comment">  /// \param ClassType the class type referred to by the constructor name.</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span> <span class="comment">  /// \param ClassNameLoc the location of the class name.</span></div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span> <span class="comment">  /// \param EndLoc the location of the last token that makes up the type name.</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#ad0c1719e1e48a16435582f0db114df87">  999</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#ad0c1719e1e48a16435582f0db114df87" title="Specify that this unqualified-id was parsed as a constructor name.">setConstructorName</a>(<a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> ClassType, </div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</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> ClassNameLoc,</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>                           <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EndLoc) {</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11ba254f2b89641948cd1176189d972993bf" title="A constructor name.">IK_ConstructorName</a>;</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = ClassNameLoc;</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = EndLoc;</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a21fb226a6633f733fbf4dc9f041a370a" title="When Kind == IK_ConstructorName, the class-name of the type whose constructor is being referenced...">ConstructorName</a> = ClassType;</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>   }</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="comment"></span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as a</span></div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="comment">  /// template-id that names a constructor.</span></div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">  /// \param TemplateId the template-id annotation that describes the parsed</span></div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="comment">  /// template-id. This UnqualifiedId instance will take ownership of the</span></div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="comment">  /// \p TemplateId and will free it on destruction.</span></div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#ab701df07f8fdec38bcd3095e35bdede9" title="Specify that this unqualified-id was parsed as a template-id that names a constructor.">setConstructorTemplateId</a>(<a class="code" href="structclang_1_1TemplateIdAnnotation.html" title="Information about a template-id annotation token.">TemplateIdAnnotation</a> *<a class="code" href="classclang_1_1UnqualifiedId.html#afb6aa425ddb66533db9a8c6602ea8e32" title="When Kind == IK_TemplateId or IK_ConstructorTemplateId, the template-id annotation that contains the ...">TemplateId</a>);</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="comment"></span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as a destructor name.</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="comment">  /// \param TildeLoc the location of the '~' that introduces the destructor</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment">  /// name.</span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">  /// \param ClassType the name of the class referred to by the destructor name.</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a83d16dbf1e2dd3ff5f9711a09b8aec99"> 1022</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a83d16dbf1e2dd3ff5f9711a09b8aec99" title="Specify that this unqualified-id was parsed as a destructor name.">setDestructorName</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> TildeLoc,</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>                          <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> ClassType,</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>                          <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EndLoc) {</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1UnqualifiedId.html#a13c965a3b07b46673fc277c3e0eaa11bab6c68b3724b7a3219cb37a648a3ca353" title="A destructor name.">IK_DestructorName</a>;</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a> = TildeLoc;</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a> = EndLoc;</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>     <a class="code" href="classclang_1_1UnqualifiedId.html#ab35168f84713ebfeaf6a6d27ada37245" title="When Kind == IK_DestructorName, the type referred to by the class-name.">DestructorName</a> = ClassType;</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>   <span class="comment"></span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="comment">  /// \brief Specify that this unqualified-id was parsed as a template-id.</span></div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="comment">  /// \param TemplateId the template-id annotation that describes the parsed</span></div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="comment">  /// template-id. This UnqualifiedId instance will take ownership of the</span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment">  /// \p TemplateId and will free it on destruction.</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a9d34677f19a8977b71732cf10f383380" title="Specify that this unqualified-id was parsed as a template-id.">setTemplateId</a>(<a class="code" href="structclang_1_1TemplateIdAnnotation.html" title="Information about a template-id annotation token.">TemplateIdAnnotation</a> *<a class="code" href="classclang_1_1UnqualifiedId.html#afb6aa425ddb66533db9a8c6602ea8e32" title="When Kind == IK_TemplateId or IK_ConstructorTemplateId, the template-id annotation that contains the ...">TemplateId</a>);</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="comment"></span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="comment">  /// \brief Return the source range that covers this unqualified-id.</span></div>
+<div class="line"><a name="l01039"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a79268390f0aa348edea4ee6041aa256d"> 1039</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1UnqualifiedId.html#a79268390f0aa348edea4ee6041aa256d" title="Return the source range that covers this unqualified-id.">getSourceRange</a>() const LLVM_READONLY { </div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(<a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a>, <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a>); </div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>   }</div>
+<div class="line"><a name="l01042"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#a92c0ce5983b528cf8853d06ff275df10"> 1042</a></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_1UnqualifiedId.html#a92c0ce5983b528cf8853d06ff275df10">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a>; }</div>
+<div class="line"><a name="l01043"></a><span class="lineno"><a class="code" href="classclang_1_1UnqualifiedId.html#aaa635e5a5ba265c941f3834a0609d5c8"> 1043</a></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_1UnqualifiedId.html#aaa635e5a5ba265c941f3834a0609d5c8">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1UnqualifiedId.html#a33a9c974cd73bc40de313d3814a0acff" title="The location of the last token that describes this unqualified-id.">EndLocation</a>; }</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"></span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="comment">/// \brief A set of tokens that has been cached for later parsing.</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"><a class="code" href="namespaceclang.html#aec49647eb9f2a1aa662968dbf990f394"> 1047</a></span> <span class="comment"></span><span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<Token, 4></a> <a class="code" href="namespaceclang.html#aec49647eb9f2a1aa662968dbf990f394" title="A set of tokens that has been cached for later parsing.">CachedTokens</a>;</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="comment"></span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="comment">/// \brief One instance of this struct is used for each type in a</span></div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="comment">/// declarator that is parsed.</span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment">/// This is intended to be a small value object.</span></div>
+<div class="line"><a name="l01053"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html"> 1053</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> {</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>   <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l01055"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ac7ffa77fa0063707f15008dcec5f6a08"> 1055</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a2105075936fee6ae5464e8c902228e53">Pointer</a>, <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ac7ffa77fa0063707f15008dcec5f6a08">Reference</a>, <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a458e84399294467ade706cfe3dee7240">Array</a>, <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a0e535631da889deff61b9c14174afd9e">Function</a>, <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87aebff05a194dee2aee5dc6edda8111506">BlockPointer</a>, <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c60
 1a12a87ab6eb18465aa2188504014b5ae7d0cf5f">MemberPointer</a>, <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">Paren</a></div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>   } <a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>;</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="comment"></span></div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <span class="comment">  /// Loc - The place where this type was defined.</span></div>
+<div class="line"><a name="l01059"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7"> 1059</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>;<span class="comment"></span></div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">  /// EndLoc - If valid, the place where this chunck ends.</span></div>
+<div class="line"><a name="l01061"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a4a2486c4e276289c21e01ae2ebf0fc93"> 1061</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#a4a2486c4e276289c21e01ae2ebf0fc93" title="EndLoc - If valid, the place where this chunck ends.">EndLoc</a>;</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
+<div class="line"><a name="l01063"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html"> 1063</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {</div>
+<div class="line"><a name="l01064"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317"> 1064</a></span>     <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>;</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> </div>
+<div class="line"><a name="l01067"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html"> 1067</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html">PointerTypeInfo</a> : <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {<span class="comment"></span></div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment">    /// The type qualifiers: const/volatile/restrict/atomic.</span></div>
+<div class="line"><a name="l01069"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#aab641638d34273b7c9c0e0ccba1dda5d"> 1069</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#aab641638d34273b7c9c0e0ccba1dda5d" title="The type qualifiers: const/volatile/restrict/atomic.">TypeQuals</a> : 4;</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment"></span></div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment">    /// The location of the const-qualifier, if any.</span></div>
+<div class="line"><a name="l01072"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a81971234a4d78263671e0724e390b33b"> 1072</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a81971234a4d78263671e0724e390b33b" title="The location of the const-qualifier, if any.">ConstQualLoc</a>;</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="comment"></span></div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="comment">    /// The location of the volatile-qualifier, if any.</span></div>
+<div class="line"><a name="l01075"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#af34d686a4dcdaaf2e03e21b1c9b2fb99"> 1075</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#af34d686a4dcdaaf2e03e21b1c9b2fb99" title="The location of the volatile-qualifier, if any.">VolatileQualLoc</a>;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment"></span></div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment">    /// The location of the restrict-qualifier, if any.</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a14c9c3f96159e9943a42a3cf0b5aa304"> 1078</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a14c9c3f96159e9943a42a3cf0b5aa304" title="The location of the restrict-qualifier, if any.">RestrictQualLoc</a>;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="comment"></span></div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="comment">    /// The location of the _Atomic-qualifier, if any.</span></div>
+<div class="line"><a name="l01081"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a88f8a126d22600afe22aa879b8f8ca02"> 1081</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a88f8a126d22600afe22aa879b8f8ca02" title="The location of the _Atomic-qualifier, if any.">AtomicQualLoc</a>;</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
+<div class="line"><a name="l01083"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a629ead2752c31f901c15d2f6684763e6"> 1083</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a629ead2752c31f901c15d2f6684763e6">destroy</a>() {</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>     }</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>   };</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
+<div class="line"><a name="l01087"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html"> 1087</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html">ReferenceTypeInfo</a> : <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {<span class="comment"></span></div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="comment">    /// The type qualifier: restrict. [GNU] C++ extension</span></div>
+<div class="line"><a name="l01089"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#af597b8384e33d149a877688156fdf767"> 1089</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#af597b8384e33d149a877688156fdf767" title="The type qualifier: restrict. [GNU] C++ extension.">HasRestrict</a> : 1;<span class="comment"></span></div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment">    /// True if this is an lvalue reference, false if it's an rvalue reference.</span></div>
+<div class="line"><a name="l01091"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#a7fdb658ee5250d2567c4b2eefc9d2330"> 1091</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#a7fdb658ee5250d2567c4b2eefc9d2330" title="True if this is an lvalue reference, false if it's an rvalue reference.">LValueRef</a> : 1;</div>
+<div class="line"><a name="l01092"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#a2ce17083c7f1e15bceecc56d6375ffc3"> 1092</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#a2ce17083c7f1e15bceecc56d6375ffc3">destroy</a>() {</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>     }</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>   };</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
+<div class="line"><a name="l01096"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html"> 1096</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html">ArrayTypeInfo</a> : <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {<span class="comment"></span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="comment">    /// The type qualifiers for the array: const/volatile/restrict/_Atomic.</span></div>
+<div class="line"><a name="l01098"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a13d4a8a651a3cd6c80ca2f8b445025b9"> 1098</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a13d4a8a651a3cd6c80ca2f8b445025b9" title="The type qualifiers for the array: const/volatile/restrict/_Atomic.">TypeQuals</a> : 4;</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="comment"></span></div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="comment">    /// True if this dimension included the 'static' keyword.</span></div>
+<div class="line"><a name="l01101"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a91b14854d171990f28532fc1c56be6b6"> 1101</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a91b14854d171990f28532fc1c56be6b6" title="True if this dimension included the 'static' keyword.">hasStatic</a> : 1;</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="comment"></span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="comment">    /// True if this dimension was [*].  In this case, NumElts is null.</span></div>
+<div class="line"><a name="l01104"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a237bd16ef7decf5fcf033d2274158785"> 1104</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a237bd16ef7decf5fcf033d2274158785" title="True if this dimension was [*]. In this case, NumElts is null.">isStar</a> : 1;</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="comment"></span></div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="comment">    /// This is the size of the array, or null if [] or [*] was specified.</span></div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="comment">    /// Since the parser is multi-purpose, and we don't want to impose a root</span></div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="comment">    /// expression class on all clients, NumElts is untyped.</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a9767403ded240b6332e62b541b2bad55"> 1109</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a9767403ded240b6332e62b541b2bad55">NumElts</a>;</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
+<div class="line"><a name="l01111"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#aa947a0d7d4656e69bfe8e1b733830c2c"> 1111</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#aa947a0d7d4656e69bfe8e1b733830c2c">destroy</a>() {}</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>   };</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment"></span></div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="comment">  /// ParamInfo - An array of paraminfo objects is allocated whenever a function</span></div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="comment">  /// declarator is parsed.  There are two interesting styles of arguments here:</span></div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="comment">  /// K&R-style identifier lists and parameter type lists.  K&R-style identifier</span></div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> <span class="comment">  /// lists will have information about the identifier, but no type information.</span></div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="comment">  /// Parameter type lists will have type info (if the actions module provides</span></div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="comment">  /// it), but may have null identifier info: e.g. for 'void foo(int X, int)'.</span></div>
+<div class="line"><a name="l01120"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html"> 1120</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html">ParamInfo</a> {</div>
+<div class="line"><a name="l01121"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a8311dbad1d54c76f118a93bbea32a88f"> 1121</a></span>     <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a8311dbad1d54c76f118a93bbea32a88f">Ident</a>;</div>
+<div class="line"><a name="l01122"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a4591bfc88cf3b11ab8af681931d0c26f"> 1122</a></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="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a4591bfc88cf3b11ab8af681931d0c26f">IdentLoc</a>;</div>
+<div class="line"><a name="l01123"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#af9e6c8977877abbb0ad24e595be63dc0"> 1123</a></span>     <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#af9e6c8977877abbb0ad24e595be63dc0">Param</a>;</div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="comment"></span></div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="comment">    /// DefaultArgTokens - When the parameter's default argument</span></div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="comment">    /// cannot be parsed immediately (because it occurs within the</span></div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment">    /// declaration of a member function), it will be stored here as a</span></div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment">    /// sequence of tokens to be parsed once the class definition is</span></div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">    /// complete. Non-NULL indicates that there is a default argument.</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a8e2dc5531577664f16606c9fe0e0e5fb"> 1130</a></span> <span class="comment"></span>    <a class="code" href="classllvm_1_1SmallVector.html">CachedTokens</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a8e2dc5531577664f16606c9fe0e0e5fb">DefaultArgTokens</a>;</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> </div>
+<div class="line"><a name="l01132"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#ab30b4a2969e4279afbd7679816d19cc0"> 1132</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#ab30b4a2969e4279afbd7679816d19cc0">ParamInfo</a>() {}</div>
+<div class="line"><a name="l01133"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#af5825399488054a6beb8ab9d2c4c8615"> 1133</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#ab30b4a2969e4279afbd7679816d19cc0">ParamInfo</a>(<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *ident, <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> iloc,</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>               <a class="code" href="classclang_1_1Decl.html">Decl</a> *param,</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>               <a class="code" href="classllvm_1_1SmallVector.html">CachedTokens</a> *DefArgTokens = 0)</div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>       : <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a8311dbad1d54c76f118a93bbea32a88f">Ident</a>(ident), <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a4591bfc88cf3b11ab8af681931d0c26f">IdentLoc</a>(iloc), <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#af9e6c8977877abbb0ad24e595be63dc0">Param</a>(param),</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>         <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html#a8e2dc5531577664f16606c9fe0e0e5fb">DefaultArgTokens</a>(DefArgTokens) {}</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>   };</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> </div>
+<div class="line"><a name="l01140"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html"> 1140</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html">TypeAndRange</a> {</div>
+<div class="line"><a name="l01141"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html#afe818ce2f26b60488d94fb2be04b5b98"> 1141</a></span>     <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html#afe818ce2f26b60488d94fb2be04b5b98">Ty</a>;</div>
+<div class="line"><a name="l01142"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html#a719a5468498c088d06e290b1e51aa971"> 1142</a></span>     <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html#a719a5468498c088d06e290b1e51aa971">Range</a>;</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="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html"> 1145</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html">FunctionTypeInfo</a> : <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {<span class="comment"></span></div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">    /// hasPrototype - This is true if the function had at least one typed</span></div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment">    /// argument.  If the function is () or (a,b,c), then it has no prototype,</span></div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="comment">    /// and is treated as a K&R-style function.</span></div>
+<div class="line"><a name="l01149"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#abed9085b552ee08a8aafb78bbee57921"> 1149</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#abed9085b552ee08a8aafb78bbee57921">hasPrototype</a> : 1;</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="comment"></span></div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="comment">    /// isVariadic - If this function has a prototype, and if that</span></div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="comment">    /// proto ends with ',...)', this is true. When true, EllipsisLoc</span></div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="comment">    /// contains the location of the ellipsis.</span></div>
+<div class="line"><a name="l01154"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a023292f62f5b7d7532396c48c2986601"> 1154</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a023292f62f5b7d7532396c48c2986601">isVariadic</a> : 1;</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="comment"></span></div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="comment">    /// Can this declaration be a constructor-style initializer?</span></div>
+<div class="line"><a name="l01157"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3dba85ff7175c4ef78b32f6acb6224"> 1157</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3dba85ff7175c4ef78b32f6acb6224" title="Can this declaration be a constructor-style initializer?">isAmbiguous</a> : 1;</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="comment"></span></div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="comment">    /// \brief Whether the ref-qualifier (if any) is an lvalue reference.</span></div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="comment">    /// Otherwise, it's an rvalue reference.</span></div>
+<div class="line"><a name="l01161"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a254d4abbc438e4f437182197d5874c29"> 1161</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a254d4abbc438e4f437182197d5874c29" title="Whether the ref-qualifier (if any) is an lvalue reference. Otherwise, it's an rvalue reference...">RefQualifierIsLValueRef</a> : 1;</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">    /// The type qualifiers: const/volatile/restrict.</span></div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="comment">    /// The qualifier bitmask values are the same as in QualType.</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a035c533d0c01179296871a29f428fbe1"> 1165</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a035c533d0c01179296871a29f428fbe1">TypeQuals</a> : 3;</div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="comment"></span></div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="comment">    /// ExceptionSpecType - An ExceptionSpecificationType value.</span></div>
+<div class="line"><a name="l01168"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad30679745ada858758eb2c97b0d6cb85"> 1168</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad30679745ada858758eb2c97b0d6cb85" title="ExceptionSpecType - An ExceptionSpecificationType value.">ExceptionSpecType</a> : 3;</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="comment"></span></div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="comment">    /// DeleteArgInfo - If this is true, we need to delete[] ArgInfo.</span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec"> 1171</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a> : 1;</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="comment"></span></div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="comment">    /// HasTrailingReturnType - If this is true, a trailing return type was</span></div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <span class="comment">    /// specified.</span></div>
+<div class="line"><a name="l01175"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3b8199354237bef509b6a3e1a9cd46"> 1175</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3b8199354237bef509b6a3e1a9cd46">HasTrailingReturnType</a> : 1;</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="comment"></span></div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="comment">    /// The location of the left parenthesis in the source.</span></div>
+<div class="line"><a name="l01178"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a3abe7273901ed75da2dda64a46b06254"> 1178</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a3abe7273901ed75da2dda64a46b06254" title="The location of the left parenthesis in the source.">LParenLoc</a>;</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="comment"></span></div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="comment">    /// When isVariadic is true, the location of the ellipsis in the source.</span></div>
+<div class="line"><a name="l01181"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#adb4295095b6a26ec33b85a1ad1d54ef2"> 1181</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#adb4295095b6a26ec33b85a1ad1d54ef2" title="When isVariadic is true, the location of the ellipsis in the source.">EllipsisLoc</a>;</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="comment"></span></div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="comment">    /// The location of the right parenthesis in the source.</span></div>
+<div class="line"><a name="l01184"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a735a7933ea13824f083ec0512a330a30"> 1184</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a735a7933ea13824f083ec0512a330a30" title="The location of the right parenthesis in the source.">RParenLoc</a>;</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="comment"></span></div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="comment">    /// NumArgs - This is the number of formal arguments provided for the</span></div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="comment">    /// declarator.</span></div>
+<div class="line"><a name="l01188"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a278210bb7c3115347babdc92db45de1b"> 1188</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a278210bb7c3115347babdc92db45de1b">NumArgs</a>;</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="comment"></span></div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="comment">    /// NumExceptions - This is the number of types in the dynamic-exception-</span></div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment">    /// decl, if the function has one.</span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ac52903f3114f0b03ca8ca42ac494ae97"> 1192</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ac52903f3114f0b03ca8ca42ac494ae97">NumExceptions</a>;</div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="comment"></span></div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="comment">    /// \brief The location of the ref-qualifier, if any.</span></div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="comment">    /// If this is an invalid location, there is no ref-qualifier.</span></div>
+<div class="line"><a name="l01197"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a5c6806c626ac5b7d870ab9f37829ad69"> 1197</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a5c6806c626ac5b7d870ab9f37829ad69" title="The location of the ref-qualifier, if any.">RefQualifierLoc</a>;</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="comment"></span></div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="comment">    /// \brief The location of the const-qualifier, if any.</span></div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="comment">    /// If this is an invalid location, there is no const-qualifier.</span></div>
+<div class="line"><a name="l01202"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7fb821191b28cb70b9a7e68169da1a5d"> 1202</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7fb821191b28cb70b9a7e68169da1a5d" title="The location of the const-qualifier, if any.">ConstQualifierLoc</a>;</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="comment"></span></div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="comment">    /// \brief The location of the volatile-qualifier, if any.</span></div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="comment">    /// If this is an invalid location, there is no volatile-qualifier.</span></div>
+<div class="line"><a name="l01207"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad72321ea9bdb12b2efc85fd83001b0b7"> 1207</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad72321ea9bdb12b2efc85fd83001b0b7" title="The location of the volatile-qualifier, if any.">VolatileQualifierLoc</a>;</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="comment"></span></div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="comment">    /// \brief The location of the 'mutable' qualifer in a lambda-declarator, if</span></div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="comment">    /// any.</span></div>
+<div class="line"><a name="l01211"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a32b51d4487f7117669021aedaa20d2cb"> 1211</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a32b51d4487f7117669021aedaa20d2cb" title="The location of the 'mutable' qualifer in a lambda-declarator, if any.">MutableLoc</a>;</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="comment"></span></div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="comment">    /// \brief The location of the keyword introducing the spec, if any.</span></div>
+<div class="line"><a name="l01214"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ae12aaf301c40291dd701300fa6cd4eec"> 1214</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ae12aaf301c40291dd701300fa6cd4eec" title="The location of the keyword introducing the spec, if any.">ExceptionSpecLoc</a>;</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="comment"></span></div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="comment">    /// ArgInfo - This is a pointer to a new[]'d array of ParamInfo objects that</span></div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="comment">    /// describe the arguments for this function declarator.  This is null if</span></div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="comment">    /// there are no arguments specified.</span></div>
+<div class="line"><a name="l01219"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75"> 1219</a></span> <span class="comment"></span>    <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html">ParamInfo</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a>;</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>     <span class="keyword">union </span>{<span class="comment"></span></div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="comment">      /// \brief Pointer to a new[]'d array of TypeAndRange objects that</span></div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="comment">      /// contain the types in the function's dynamic exception specification</span></div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="comment">      /// and their locations, if there is one.</span></div>
+<div class="line"><a name="l01225"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2"> 1225</a></span> <span class="comment"></span>      <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeAndRange.html">TypeAndRange</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2" title="Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic e...">Exceptions</a>;</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="comment"></span></div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="comment">      /// \brief Pointer to the expression in the noexcept-specifier of this</span></div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="comment">      /// function, if it has one.</span></div>
+<div class="line"><a name="l01229"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#afba973a2a0b6ba554bc46aeec66c3111"> 1229</a></span> <span class="comment"></span>      <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#afba973a2a0b6ba554bc46aeec66c3111" title="Pointer to the expression in the noexcept-specifier of this function, if it has one.">NoexceptExpr</a>;</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>     };</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="comment"></span></div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="comment">    /// \brief If HasTrailingReturnType is true, this is the trailing return</span></div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="comment">    /// type specified.</span></div>
+<div class="line"><a name="l01234"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19b3b8ec4bfb074346eff0b498fa92de"> 1234</a></span> <span class="comment"></span>    <a class="code" href="structclang_1_1UnionOpaquePtr.html">UnionParsedType</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19b3b8ec4bfb074346eff0b498fa92de" title="If HasTrailingReturnType is true, this is the trailing return type specified.">TrailingReturnType</a>;</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="comment"></span></div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="comment">    /// \brief Reset the argument list to having zero arguments.</span></div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="comment">    /// This is used in various places for error recovery.</span></div>
+<div class="line"><a name="l01239"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a74838d054c16a5d313adba997e55a671"> 1239</a></span> <span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a74838d054c16a5d313adba997e55a671" title="Reset the argument list to having zero arguments.">freeArgs</a>() {</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a>) {</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>         <span class="keyword">delete</span>[] <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a>;</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>         <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a> = <span class="keyword">false</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="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a278210bb7c3115347babdc92db45de1b">NumArgs</a> = 0;</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>     }</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> </div>
+<div class="line"><a name="l01247"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a38be695fb27c2a1058f3cf0150e97fe9"> 1247</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a38be695fb27c2a1058f3cf0150e97fe9">destroy</a>() {</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a75ec0000c0164c341d620868b31c36ec" title="DeleteArgInfo - If this is true, we need to delete[] ArgInfo.">DeleteArgInfo</a>)</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>         <span class="keyword">delete</span>[] <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ade47c9f29fe85cb39cc089e8e16fee75">ArgInfo</a>;</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>       <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a4bf17c0266c21d8d2772c7967131ad72" title="Get the type of exception specification this function has.">getExceptionSpecType</a>() == <a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081eaf4e0e31c2f1227d7cf242aa7db6de5bd" title="throw(T1, T2)">EST_Dynamic</a>)</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>         <span class="keyword">delete</span>[] <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19cad1aa51274da8dc3dab1849fd1bc2" title="Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic e...">Exceptions</a>;</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>     }</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="comment"></span></div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">    /// isKNRPrototype - Return true if this is a K&R style identifier list,</span></div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="comment">    /// like "void foo(a,b,c)".  In a function definition, this will be followed</span></div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="comment">    /// by the argument type definitions.</span></div>
+<div class="line"><a name="l01257"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a5e209c1900eb4681b2698b87e0cff9cb"> 1257</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a5e209c1900eb4681b2698b87e0cff9cb">isKNRPrototype</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>       <span class="keywordflow">return</span> !<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#abed9085b552ee08a8aafb78bbee57921">hasPrototype</a> && <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a278210bb7c3115347babdc92db45de1b">NumArgs</a> != 0;</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>     }</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> </div>
+<div class="line"><a name="l01261"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7adf8b310c5a7e2a2b2cac095bad139f"> 1261</a></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="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7adf8b310c5a7e2a2b2cac095bad139f">getLParenLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a3abe7273901ed75da2dda64a46b06254" title="The location of the left parenthesis in the source.">LParenLoc</a>);</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>     }</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
+<div class="line"><a name="l01265"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a9656250a8b217da2794085bc3026f5a4"> 1265</a></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="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a9656250a8b217da2794085bc3026f5a4">getEllipsisLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#adb4295095b6a26ec33b85a1ad1d54ef2" title="When isVariadic is true, the location of the ellipsis in the source.">EllipsisLoc</a>);</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> </div>
+<div class="line"><a name="l01269"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7e8d5858040b993eb7fd31d2793e2f63"> 1269</a></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="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7e8d5858040b993eb7fd31d2793e2f63">getRParenLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a735a7933ea13824f083ec0512a330a30" title="The location of the right parenthesis in the source.">RParenLoc</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> </div>
+<div class="line"><a name="l01273"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a113cdddebe3022f1c1fc97f092f560da"> 1273</a></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="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a113cdddebe3022f1c1fc97f092f560da">getExceptionSpecLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ae12aaf301c40291dd701300fa6cd4eec" title="The location of the keyword introducing the spec, if any.">ExceptionSpecLoc</a>);</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>     }</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="comment"></span></div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="comment">    /// \brief Retrieve the location of the ref-qualifier, if any.</span></div>
+<div class="line"><a name="l01278"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#af5b6887c8a63b16d867bfd5e3da4832f"> 1278</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#af5b6887c8a63b16d867bfd5e3da4832f" title="Retrieve the location of the ref-qualifier, if any.">getRefQualifierLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a5c6806c626ac5b7d870ab9f37829ad69" title="The location of the ref-qualifier, if any.">RefQualifierLoc</a>);</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>     }</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="comment"></span></div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="comment">    /// \brief Retrieve the location of the ref-qualifier, if any.</span></div>
+<div class="line"><a name="l01283"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a360b3c24cd21de762d473ed54cd421ce"> 1283</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a360b3c24cd21de762d473ed54cd421ce" title="Retrieve the location of the ref-qualifier, if any.">getConstQualifierLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7fb821191b28cb70b9a7e68169da1a5d" title="The location of the const-qualifier, if any.">ConstQualifierLoc</a>);</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>     }</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment"></span></div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="comment">    /// \brief Retrieve the location of the ref-qualifier, if any.</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a644db8a13753afd6b2237b76de989ea2"> 1288</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a644db8a13753afd6b2237b76de989ea2" title="Retrieve the location of the ref-qualifier, if any.">getVolatileQualifierLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad72321ea9bdb12b2efc85fd83001b0b7" title="The location of the volatile-qualifier, if any.">VolatileQualifierLoc</a>);</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>     }</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment"></span></div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="comment">    /// \brief Retrieve the location of the 'mutable' qualifier, if any.</span></div>
+<div class="line"><a name="l01293"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7bdac58c9d4b1b1e8f71c14851b8499a"> 1293</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7bdac58c9d4b1b1e8f71c14851b8499a" title="Retrieve the location of the 'mutable' qualifier, if any.">getMutableLoc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#af6ffb91a339feae6d6a5101c533f1494" title="Turn a raw encoding of a SourceLocation object into a real SourceLocation.">SourceLocation::getFromRawEncoding</a>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a32b51d4487f7117669021aedaa20d2cb" title="The location of the 'mutable' qualifer in a lambda-declarator, if any.">MutableLoc</a>);</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>     }</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="comment"></span></div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment">    /// \brief Determine whether this function declaration contains a </span></div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment">    /// ref-qualifier.</span></div>
+<div class="line"><a name="l01299"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a3e6cba3b9aece1c1bd8b2774b4443b05"> 1299</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a3e6cba3b9aece1c1bd8b2774b4443b05" title="Determine whether this function declaration contains a ref-qualifier.">hasRefQualifier</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#af5b6887c8a63b16d867bfd5e3da4832f" title="Retrieve the location of the ref-qualifier, if any.">getRefQualifierLoc</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>(); }</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment"></span></div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="comment">    /// \brief Determine whether this lambda-declarator contains a 'mutable'</span></div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">    /// qualifier.</span></div>
+<div class="line"><a name="l01303"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a299f3d3d44b299deea7088f115a57627"> 1303</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a299f3d3d44b299deea7088f115a57627" title="Determine whether this lambda-declarator contains a 'mutable' qualifier.">hasMutableQualifier</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a7bdac58c9d4b1b1e8f71c14851b8499a" title="Retrieve the location of the 'mutable' qualifier, if any.">getMutableLoc</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>(); }</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="comment"></span></div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment">    /// \brief Get the type of exception specification this function has.</span></div>
+<div class="line"><a name="l01306"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a4bf17c0266c21d8d2772c7967131ad72"> 1306</a></span> <span class="comment"></span>    <a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a4bf17c0266c21d8d2772c7967131ad72" title="Get the type of exception specification this function has.">getExceptionSpecType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>       <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a><span class="keyword">></span>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#ad30679745ada858758eb2c97b0d6cb85" title="ExceptionSpecType - An ExceptionSpecificationType value.">ExceptionSpecType</a>);</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> <span class="comment"></span></div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="comment">    /// \brief Determine whether this function declarator had a</span></div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="comment">    /// trailing-return-type.</span></div>
+<div class="line"><a name="l01312"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a99e95394914251a2a8c3f02207df6d58"> 1312</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a99e95394914251a2a8c3f02207df6d58" title="Determine whether this function declarator had a trailing-return-type.">hasTrailingReturnType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#aad3b8199354237bef509b6a3e1a9cd46">HasTrailingReturnType</a>; }</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="comment"></span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="comment">    /// \brief Get the trailing-return-type for this function declarator.</span></div>
+<div class="line"><a name="l01315"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a9183d6359f2992431505799ab4bd3618"> 1315</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a9183d6359f2992431505799ab4bd3618" title="Get the trailing-return-type for this function declarator.">getTrailingReturnType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a19b3b8ec4bfb074346eff0b498fa92de" title="If HasTrailingReturnType is true, this is the trailing return type specified.">TrailingReturnType</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> </div>
+<div class="line"><a name="l01318"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html"> 1318</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html">BlockPointerTypeInfo</a> : <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {<span class="comment"></span></div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="comment">    /// For now, sema will catch these as invalid.</span></div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="comment">    /// The type qualifiers: const/volatile/restrict/_Atomic.</span></div>
+<div class="line"><a name="l01321"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html#a22a05b2676f001c38afad58ada9f13f2"> 1321</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html#a22a05b2676f001c38afad58ada9f13f2">TypeQuals</a> : 4;</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> </div>
+<div class="line"><a name="l01323"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html#a835ab7b0ad875e90e4f568ede5af9858"> 1323</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html#a835ab7b0ad875e90e4f568ede5af9858">destroy</a>() {</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>     }</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>   };</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
+<div class="line"><a name="l01327"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html"> 1327</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html">MemberPointerTypeInfo</a> : <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a> {<span class="comment"></span></div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="comment">    /// The type qualifiers: const/volatile/restrict/_Atomic.</span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a3e22b0d0958ce91dad381e38e0327fd0"> 1329</a></span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a3e22b0d0958ce91dad381e38e0327fd0" title="The type qualifiers: const/volatile/restrict/_Atomic.">TypeQuals</a> : 4;</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>     <span class="comment">// CXXScopeSpec has a constructor, so it can't be a direct member.</span></div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>     <span class="comment">// So we need some pointer-aligned storage and a bit of trickery.</span></div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>     <span class="keyword">union </span>{</div>
+<div class="line"><a name="l01333"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a9984eeecc4d1f9e18b532b39e9a2b586"> 1333</a></span>       <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a9984eeecc4d1f9e18b532b39e9a2b586">Aligner</a>;</div>
+<div class="line"><a name="l01334"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a1c52255ba9931475fe638d707c1f2fb6"> 1334</a></span>       <span class="keywordtype">char</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a1c52255ba9931475fe638d707c1f2fb6">Mem</a>[<span class="keyword">sizeof</span>(<a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a>)];</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>     } <a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ae224c780f4acff48e080f5d7d7f86d3b">ScopeMem</a>;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ada3622badd806b1601936f051528f909"> 1336</a></span>     <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> &<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ada3622badd806b1601936f051528f909">Scope</a>() {</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>       <span class="keywordflow">return</span> *<span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a>*<span class="keyword">></span>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ae224c780f4acff48e080f5d7d7f86d3b">ScopeMem</a>.Mem);</div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>     }</div>
+<div class="line"><a name="l01339"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a3e497703997240e0324a385d55857844"> 1339</a></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> &<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a3e497703997240e0324a385d55857844">Scope</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>       <span class="keywordflow">return</span> *<span class="keyword">reinterpret_cast<</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>*<span class="keyword">></span>(<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ae224c780f4acff48e080f5d7d7f86d3b">ScopeMem</a>.Mem);</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>     }</div>
+<div class="line"><a name="l01342"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a401fb5d7d29230b26bd36955e837b713"> 1342</a></span>     <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a401fb5d7d29230b26bd36955e837b713">destroy</a>() {</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>       <a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ada3622badd806b1601936f051528f909">Scope</a>().~CXXScopeSpec();</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>     }</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>   };</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> </div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>   <span class="keyword">union </span>{</div>
+<div class="line"><a name="l01348"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#af3f0ae46a4c0ec5458a2b2070de526f0"> 1348</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html">TypeInfoCommon</a>        <a class="code" href="structclang_1_1DeclaratorChunk.html#af3f0ae46a4c0ec5458a2b2070de526f0">Common</a>;</div>
+<div class="line"><a name="l01349"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400"> 1349</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html">PointerTypeInfo</a>       <a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>;</div>
+<div class="line"><a name="l01350"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a96a4fa1f5faf635ce86958a1327b6ded"> 1350</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html">ReferenceTypeInfo</a>     <a class="code" href="structclang_1_1DeclaratorChunk.html#a96a4fa1f5faf635ce86958a1327b6ded">Ref</a>;</div>
+<div class="line"><a name="l01351"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718"> 1351</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html">ArrayTypeInfo</a>         <a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5"> 1352</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html">FunctionTypeInfo</a>      <a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>;</div>
+<div class="line"><a name="l01353"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a9ffc7ccd327d29248e88f086b37670aa"> 1353</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html">BlockPointerTypeInfo</a>  <a class="code" href="structclang_1_1DeclaratorChunk.html#a9ffc7ccd327d29248e88f086b37670aa">Cls</a>;</div>
+<div class="line"><a name="l01354"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#ab2c3c6747688db4f93954b15a6462a76"> 1354</a></span>     <a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html">MemberPointerTypeInfo</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#ab2c3c6747688db4f93954b15a6462a76">Mem</a>;</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>   };</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> </div>
+<div class="line"><a name="l01357"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a845d4f670b0dbdb3c0e3f228d5adbdad"> 1357</a></span>   <span class="keywordtype">void</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#a845d4f670b0dbdb3c0e3f228d5adbdad">destroy</a>() {</div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>     <span class="keywordflow">switch</span> (<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>) {</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a0e535631da889deff61b9c14174afd9e">DeclaratorChunk::Function</a>:      <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#ac9586b88d3df737db9979786e84ecce5">Fun</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html#a38be695fb27c2a1058f3cf0150e97fe9">destroy</a>();</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a2105075936fee6ae5464e8c902228e53">DeclaratorChunk::Pointer</a>:       <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a629ead2752c31f901c15d2f6684763e6">destroy</a>();</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87aebff05a194dee2aee5dc6edda8111506">DeclaratorChunk::BlockPointer</a>:  <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#a9ffc7ccd327d29248e88f086b37670aa">Cls</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html#a835ab7b0ad875e90e4f568ede5af9858">destroy</a>();</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ac7ffa77fa0063707f15008dcec5f6a08">DeclaratorChunk::Reference</a>:     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#a96a4fa1f5faf635ce86958a1327b6ded">Ref</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#a2ce17083c7f1e15bceecc56d6375ffc3">destroy</a>();</div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a458e84399294467ade706cfe3dee7240">DeclaratorChunk::Array</a>:         <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#aa947a0d7d4656e69bfe8e1b733830c2c">destroy</a>();</div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ab6eb18465aa2188504014b5ae7d0cf5f">DeclaratorChunk::MemberPointer</a>: <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#ab2c3c6747688db4f93954b15a6462a76">Mem</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a401fb5d7d29230b26bd36955e837b713">destroy</a>();</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>     <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">DeclaratorChunk::Paren</a>:         <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>     }</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>   }</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="comment"></span></div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="comment">  /// \brief If there are attributes applied to this declaratorchunk, return</span></div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="comment">  /// them.</span></div>
+<div class="line"><a name="l01371"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#ac8865611a4670894eff083606ff04b9d"> 1371</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *<a class="code" href="structclang_1_1DeclaratorChunk.html#ac8865611a4670894eff083606ff04b9d" title="If there are attributes applied to this declaratorchunk, return them.">getAttrs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#af3f0ae46a4c0ec5458a2b2070de526f0">Common</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</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"><a class="code" href="structclang_1_1DeclaratorChunk.html#add5ca43ad9e50dd68980b88d65b4583e"> 1375</a></span>   <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *&<a class="code" href="structclang_1_1DeclaratorChunk.html#add5ca43ad9e50dd68980b88d65b4583e">getAttrListRef</a>() {</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#af3f0ae46a4c0ec5458a2b2070de526f0">Common</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>;</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>   }</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="comment"></span></div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="comment">  /// \brief Return a DeclaratorChunk for a pointer.</span></div>
+<div class="line"><a name="l01380"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#aa7f33ad0feb2794f2c8717bc6b2179a5"> 1380</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#aa7f33ad0feb2794f2c8717bc6b2179a5" title="Return a DeclaratorChunk for a pointer.">getPointer</a>(<span class="keywordtype">unsigned</span> TypeQuals, <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="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>,</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</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> ConstQualLoc,</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</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> VolatileQualLoc,</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</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> RestrictQualLoc) {</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>     <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>                = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a2105075936fee6ae5464e8c902228e53">Pointer</a>;</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>                 = <a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>;</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#aab641638d34273b7c9c0e0ccba1dda5d" title="The type qualifiers: const/volatile/restrict/atomic.">TypeQuals</a>       = TypeQuals;</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a81971234a4d78263671e0724e390b33b" title="The location of the const-qualifier, if any.">ConstQualLoc</a>    = ConstQualLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#af34d686a4dcdaaf2e03e21b1c9b2fb99" title="The location of the volatile-qualifier, if any.">VolatileQualLoc</a> = VolatileQualLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1PointerTypeInfo.html#a14c9c3f96159e9943a42a3cf0b5aa304" title="The location of the restrict-qualifier, if any.">RestrictQualLoc</a> = RestrictQualLoc.<a class="code" href="classclang_1_1SourceLocation.html#a3b9eca838127c4105fd77fd0d3b5962a" title="When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...">getRawEncoding</a>();</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#afc1e57e2b1e46a746b06c48abe45c400">Ptr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>        = 0;</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>     <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>   }</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> <span class="comment"></span></div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> <span class="comment">  /// \brief Return a DeclaratorChunk for a reference.</span></div>
+<div class="line"><a name="l01396"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#af8eb1c574b2ff98b7f469bd24369cf55"> 1396</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#af8eb1c574b2ff98b7f469bd24369cf55" title="Return a DeclaratorChunk for a reference.">getReference</a>(<span class="keywordtype">unsigned</span> TypeQuals, <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="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>,</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>                                       <span class="keywordtype">bool</span> lvalue) {</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>     <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>            = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ac7ffa77fa0063707f15008dcec5f6a08">Reference</a>;</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>             = <a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>;</div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a96a4fa1f5faf635ce86958a1327b6ded">Ref</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#af597b8384e33d149a877688156fdf767" title="The type qualifier: restrict. [GNU] C++ extension.">HasRestrict</a> = (TypeQuals & <a class="code" href="classclang_1_1DeclSpec.html#a9b714ac5b4e929fe06c2ac17d9628858a940c72c42a27037fd0c002e17406c7da">DeclSpec::TQ_restrict</a>) != 0;</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a96a4fa1f5faf635ce86958a1327b6ded">Ref</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ReferenceTypeInfo.html#a7fdb658ee5250d2567c4b2eefc9d2330" title="True if this is an lvalue reference, false if it's an rvalue reference.">LValueRef</a>   = lvalue;</div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a96a4fa1f5faf635ce86958a1327b6ded">Ref</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>    = 0;</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>     <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>   }</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="comment"></span></div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="comment">  /// \brief Return a DeclaratorChunk for an array.</span></div>
+<div class="line"><a name="l01408"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#ab80ef2c50bbb86475c9e0a6977f7a6ca"> 1408</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#ab80ef2c50bbb86475c9e0a6977f7a6ca" title="Return a DeclaratorChunk for an array.">getArray</a>(<span class="keywordtype">unsigned</span> TypeQuals,</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>                                   <span class="keywordtype">bool</span> isStatic, <span class="keywordtype">bool</span> isStar, <a class="code" href="classclang_1_1Expr.html">Expr</a> *NumElts,</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</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> LBLoc, <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> RBLoc) {</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>     <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>          = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a458e84399294467ade706cfe3dee7240">Array</a>;</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>           = LBLoc;</div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a4a2486c4e276289c21e01ae2ebf0fc93" title="EndLoc - If valid, the place where this chunck ends.">EndLoc</a>        = RBLoc;</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>  = 0;</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a13d4a8a651a3cd6c80ca2f8b445025b9" title="The type qualifiers for the array: const/volatile/restrict/_Atomic.">TypeQuals</a> = TypeQuals;</div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a91b14854d171990f28532fc1c56be6b6" title="True if this dimension included the 'static' keyword.">hasStatic</a> = isStatic;</div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a237bd16ef7decf5fcf033d2274158785" title="True if this dimension was [*]. In this case, NumElts is null.">isStar</a>    = isStar;</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a9767403ded240b6332e62b541b2bad55">NumElts</a>   = NumElts;</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>     <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>   }</div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> <span class="comment"></span></div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> <span class="comment">  /// DeclaratorChunk::getFunction - Return a DeclaratorChunk for a function.</span></div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> <span class="comment">  /// "TheDeclarator" is the declarator that this will be added to.</span></div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#a682a0cfc3d30e9ab9349bef9d875eb0f">getFunction</a>(<span class="keywordtype">bool</span> hasProto,</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>                                      <span class="keywordtype">bool</span> isAmbiguous,</div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>                                      <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> LParenLoc,</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>                                      ParamInfo *ArgInfo, <span class="keywordtype">unsigned</span> NumArgs,</div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</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> EllipsisLoc,</div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>                                      <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> RParenLoc,</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>                                      <span class="keywordtype">unsigned</span> TypeQuals,</div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>                                      <span class="keywordtype">bool</span> RefQualifierIsLvalueRef,</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</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> RefQualifierLoc,</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</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> ConstQualifierLoc,</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</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> VolatileQualifierLoc,</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</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> MutableLoc,</div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>                                      <a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a> ESpecType,</div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</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> ESpecLoc,</div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>                                      <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> *Exceptions,</div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>                                      <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> *ExceptionRanges,</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>                                      <span class="keywordtype">unsigned</span> NumExceptions,</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>                                      <a class="code" href="classclang_1_1Expr.html">Expr</a> *NoexceptExpr,</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</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> LocalRangeBegin,</div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</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> LocalRangeEnd,</div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>                                      <a class="code" href="classclang_1_1Declarator.html" title="Information about one declarator, including the parsed type information and the identifier.">Declarator</a> &TheDeclarator,</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>                                      <a class="code" href="classclang_1_1ActionResult.html">TypeResult</a> TrailingReturnType =</div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>                                                     <a class="code" href="namespaceclang.html#ac1557d1cfd27718557cd4f53c8bbc9db">TypeResult</a>());</div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="comment"></span></div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="comment">  /// \brief Return a DeclaratorChunk for a block.</span></div>
+<div class="line"><a name="l01450"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a3f12446b08f52a065ad063c54460c1e0"> 1450</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#a3f12446b08f52a065ad063c54460c1e0" title="Return a DeclaratorChunk for a block.">getBlockPointer</a>(<span class="keywordtype">unsigned</span> TypeQuals,</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</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="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>) {</div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>     <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>          = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87aebff05a194dee2aee5dc6edda8111506">BlockPointer</a>;</div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>           = <a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>;</div>
+<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a9ffc7ccd327d29248e88f086b37670aa">Cls</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1BlockPointerTypeInfo.html#a22a05b2676f001c38afad58ada9f13f2">TypeQuals</a> = TypeQuals;</div>
+<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a9ffc7ccd327d29248e88f086b37670aa">Cls</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>  = 0;</div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>     <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>   }</div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> </div>
+<div class="line"><a name="l01460"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a737ba183d900846c0530ed65d582e35f"> 1460</a></span>   <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#a737ba183d900846c0530ed65d582e35f">getMemberPointer</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="l01461"></a><span class="lineno"> 1461</span>                                           <span class="keywordtype">unsigned</span> TypeQuals,</div>
+<div class="line"><a name="l01462"></a><span class="lineno"> 1462</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="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>) {</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>     <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>          = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ab6eb18465aa2188504014b5ae7d0cf5f">MemberPointer</a>;</div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>           = <a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>;</div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab2c3c6747688db4f93954b15a6462a76">Mem</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a3e22b0d0958ce91dad381e38e0327fd0" title="The type qualifiers: const/volatile/restrict/_Atomic.">TypeQuals</a> = TypeQuals;</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab2c3c6747688db4f93954b15a6462a76">Mem</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a>  = 0;</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>     <span class="keyword">new</span> (I.<a class="code" href="structclang_1_1DeclaratorChunk.html#ab2c3c6747688db4f93954b15a6462a76">Mem</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#ae224c780f4acff48e080f5d7d7f86d3b">ScopeMem</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1MemberPointerTypeInfo.html#a1c52255ba9931475fe638d707c1f2fb6">Mem</a>) <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a>(SS);</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>     <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>   }</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="comment"></span></div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> <span class="comment">  /// \brief Return a DeclaratorChunk for a paren.</span></div>
+<div class="line"><a name="l01473"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#aeeb919dd21c543fd545dd54b7f7544cd"> 1473</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> <a class="code" href="structclang_1_1DeclaratorChunk.html#aeeb919dd21c543fd545dd54b7f7544cd" title="Return a DeclaratorChunk for a paren.">getParen</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> LParenLoc,</div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>                                   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> RParenLoc) {</div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>     <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> I;</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a>          = <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">Paren</a>;</div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#abbb27926cefb5b748250b6f880dad9c7" title="Loc - The place where this type was defined.">Loc</a>           = LParenLoc;</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#a4a2486c4e276289c21e01ae2ebf0fc93" title="EndLoc - If valid, the place where this chunck ends.">EndLoc</a>        = RParenLoc;</div>
+<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>     I.<a class="code" href="structclang_1_1DeclaratorChunk.html#af3f0ae46a4c0ec5458a2b2070de526f0">Common</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1TypeInfoCommon.html#add42a5d1d43f61250567a476cb222317">AttrList</a> = 0;</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>     <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>   }</div>
+<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> </div>
+<div class="line"><a name="l01483"></a><span class="lineno"><a class="code" href="structclang_1_1DeclaratorChunk.html#a808857ba4afcace67d90b44c9a857476"> 1483</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#a808857ba4afcace67d90b44c9a857476">isParen</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>     <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">Paren</a>;</div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>   }</div>
+<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> };</div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="comment"></span></div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="comment">/// \brief Described the kind of function definition (if any) provided for</span></div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="comment">/// a function.</span></div>
+<div class="line"><a name="l01490"></a><span class="lineno"><a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529"> 1490</a></span> <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529" title="Described the kind of function definition (if any) provided for a function.">FunctionDefinitionKind</a> {</div>
+<div class="line"><a name="l01491"></a><span class="lineno"><a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529ad5998437efe34ac6bc995c6b55b726c1"> 1491</a></span>   <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529ad5998437efe34ac6bc995c6b55b726c1">FDK_Declaration</a>,</div>
+<div class="line"><a name="l01492"></a><span class="lineno"><a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529a32b500e01ce6b89bd9c5da6362caa144"> 1492</a></span>   <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529a32b500e01ce6b89bd9c5da6362caa144">FDK_Definition</a>,</div>
+<div class="line"><a name="l01493"></a><span class="lineno"><a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529ae9a2562a020890ec70f29d6ee3ab4e66"> 1493</a></span>   <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529ae9a2562a020890ec70f29d6ee3ab4e66">FDK_Defaulted</a>,</div>
+<div class="line"><a name="l01494"></a><span class="lineno"><a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529a801d5b1940eb642d3ccc293ebf16eb42"> 1494</a></span>   <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529a801d5b1940eb642d3ccc293ebf16eb42">FDK_Deleted</a></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="comment"></span></div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="comment">/// \brief Information about one declarator, including the parsed type</span></div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="comment">/// information and the identifier.</span></div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="comment">/// When the declarator is fully formed, this is turned into the appropriate</span></div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="comment">/// Decl object.</span></div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="comment">/// Declarators come in two types: normal declarators and abstract declarators.</span></div>
+<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="comment">/// Abstract declarators are used when parsing types, and don't have an</span></div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="comment">/// identifier.  Normal declarators do have ID's.</span></div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="comment">/// Instances of this class should be a transient object that lives on the</span></div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="comment">/// stack, not objects that are allocated in large quantities on the heap.</span></div>
+<div class="line"><a name="l01509"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html"> 1509</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1Declarator.html" title="Information about one declarator, including the parsed type information and the identifier.">Declarator</a> {</div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01511"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156"> 1511</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156">TheContext</a> {</div>
+<div class="line"><a name="l01512"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5"> 1512</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>,         <span class="comment">// File scope declaration.</span></div>
+<div class="line"><a name="l01513"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e"> 1513</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a>,    <span class="comment">// Within a function prototype.</span></div>
+<div class="line"><a name="l01514"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d"> 1514</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a>,   <span class="comment">// An ObjC method result type.</span></div>
+<div class="line"><a name="l01515"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a"> 1515</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a>,<span class="comment">// An ObjC method parameter type.</span></div>
+<div class="line"><a name="l01516"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2"> 1516</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2">KNRTypeListContext</a>,  <span class="comment">// K&R type definition list for formals.</span></div>
+<div class="line"><a name="l01517"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059"> 1517</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059">TypeNameContext</a>,     <span class="comment">// Abstract declarator for types.</span></div>
+<div class="line"><a name="l01518"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6"> 1518</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>,       <span class="comment">// Struct/Union field.</span></div>
+<div class="line"><a name="l01519"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea"> 1519</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea">BlockContext</a>,        <span class="comment">// Declaration within a block in a function.</span></div>
+<div class="line"><a name="l01520"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93"> 1520</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93">ForContext</a>,          <span class="comment">// Declaration within first part of a for loop.</span></div>
+<div class="line"><a name="l01521"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0"> 1521</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0">ConditionContext</a>,    <span class="comment">// Condition declaration in a C++ if/switch/while/for.</span></div>
+<div class="line"><a name="l01522"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39"> 1522</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39">TemplateParamContext</a>,<span class="comment">// Within a template parameter list.</span></div>
+<div class="line"><a name="l01523"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a"> 1523</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a">CXXNewContext</a>,       <span class="comment">// C++ new-expression.</span></div>
+<div class="line"><a name="l01524"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39"> 1524</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39">CXXCatchContext</a>,     <span class="comment">// C++ catch exception-declaration</span></div>
+<div class="line"><a name="l01525"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2"> 1525</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2">ObjCCatchContext</a>,    <span class="comment">// Objective-C catch exception-declaration</span></div>
+<div class="line"><a name="l01526"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd"> 1526</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd">BlockLiteralContext</a>, <span class="comment">// Block literal declarator.</span></div>
+<div class="line"><a name="l01527"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5"> 1527</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5">LambdaExprContext</a>,   <span class="comment">// Lambda-expression declarator.</span></div>
+<div class="line"><a name="l01528"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319"> 1528</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>, <span class="comment">// Lambda-expression parameter declarator.</span></div>
+<div class="line"><a name="l01529"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7"> 1529</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7">ConversionIdContext</a>, <span class="comment">// C++ conversion-type-id.</span></div>
+<div class="line"><a name="l01530"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42"> 1530</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42">TrailingReturnContext</a>, <span class="comment">// C++11 trailing-type-specifier.</span></div>
+<div class="line"><a name="l01531"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8"> 1531</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8">TemplateTypeArgContext</a>, <span class="comment">// Template type argument.</span></div>
+<div class="line"><a name="l01532"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993"> 1532</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993">AliasDeclContext</a>,    <span class="comment">// C++11 alias-declaration.</span></div>
+<div class="line"><a name="l01533"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066"> 1533</a></span>     <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066">AliasTemplateContext</a> <span class="comment">// C++11 alias-declaration template.</span></div>
+<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>   };</div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> </div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &DS;</div>
+<div class="line"><a name="l01538"></a><span class="lineno"> 1538</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="l01539"></a><span class="lineno"> 1539</span>   <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> Name;</div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range;</div>
+<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> <span class="comment"></span></div>
+<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="comment">  /// \brief Where we are parsing this declarator.</span></div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> <span class="comment"></span>  <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156">TheContext</a> Context;</div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="comment"></span></div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="comment">  /// DeclTypeInfo - This holds each type that the declarator includes as it is</span></div>
+<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> <span class="comment">  /// parsed.  This is pushed from the identifier out, which means that element</span></div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> <span class="comment">  /// #0 will be the most closely bound to the identifier, and</span></div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="comment">  /// DeclTypeInfo.back() will be the least closely bound.</span></div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<DeclaratorChunk, 8></a> DeclTypeInfo;</div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> <span class="comment"></span></div>
+<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> <span class="comment">  /// InvalidType - Set by Sema::GetTypeForDeclarator().</span></div>
+<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> <span class="comment"></span>  <span class="keywordtype">bool</span> InvalidType : 1;</div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="comment"></span></div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="comment">  /// GroupingParens - Set by Parser::ParseParenDeclarator().</span></div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="comment"></span>  <span class="keywordtype">bool</span> GroupingParens : 1;</div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="comment"></span></div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> <span class="comment">  /// FunctionDefinition - Is this Declarator for a function or member </span></div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> <span class="comment">  /// definition and, if so, what kind?</span></div>
+<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="comment">  /// Actually a FunctionDefinitionKind.</span></div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> FunctionDefinition : 2;</div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="comment"></span></div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="comment">  /// \brief Is this Declarator a redeclaration?</span></div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="comment"></span>  <span class="keywordtype">bool</span> Redeclaration : 1;</div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="comment"></span></div>
+<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="comment">  /// Attrs - Attributes.</span></div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> Attrs;</div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="comment"></span></div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="comment">  /// \brief The asm label, if specified.</span></div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="comment"></span>  <a class="code" href="classclang_1_1Expr.html">Expr</a> *AsmLabel;</div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="comment"></span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="comment">  /// InlineParams - This is a local array used for the first function decl</span></div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="comment">  /// chunk to avoid going to the heap for the common case when we have one</span></div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> <span class="comment">  /// function chunk in the declarator.</span></div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="comment"></span>  <a class="code" href="structclang_1_1DeclaratorChunk_1_1ParamInfo.html">DeclaratorChunk::ParamInfo</a> InlineParams[16];</div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>   <span class="keywordtype">bool</span> InlineParamsUsed;</div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="comment"></span></div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> <span class="comment">  /// \brief true if the declaration is preceded by \c __extension__.</span></div>
+<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="comment"></span>  <span class="keywordtype">bool</span> Extension : 1;</div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> <span class="comment"></span></div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="comment">  /// \brief If this is the second or subsequent declarator in this declaration,</span></div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="comment">  /// the location of the comma before this declarator.</span></div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> CommaLoc;</div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="comment"></span></div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="comment">  /// \brief If provided, the source location of the ellipsis used to describe</span></div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> <span class="comment">  /// this declarator as a parameter pack.</span></div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EllipsisLoc;</div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>   </div>
+<div class="line"><a name="l01589"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a980bdddd5fd07298778e9e1b7905c010"> 1589</a></span>   <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a>;</div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01592"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a6047fdd52c81a523f59d9a9e6715af8c"> 1592</a></span>   <a class="code" href="classclang_1_1Declarator.html#a6047fdd52c81a523f59d9a9e6715af8c">Declarator</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &ds, <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156">TheContext</a> C)</div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>     : DS(ds), Range(ds.<a class="code" href="classclang_1_1Declarator.html#ac26653ad54d1663d8f1c263f726aabc3" title="Get the source range that spans this declarator.">getSourceRange</a>()), <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>(C),</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>       InvalidType(DS.getTypeSpecType() == <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a>::<a class="code" href="namespaceclang.html#a033691a5f00979c1a22d8aa114d07e13aebd8ccb1b96ebabdfe90b90308dee689">TST_error</a>),</div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>       GroupingParens(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), FunctionDefinition(<a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529ad5998437efe34ac6bc995c6b55b726c1">FDK_Declaration</a>), </div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>       Redeclaration(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>       Attrs(ds.<a class="code" href="classclang_1_1Declarator.html#a8ecb038ddea05a46311e082e5a7b3bf1">getAttributePool</a>().getFactory()), AsmLabel(0),</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>       InlineParamsUsed(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), Extension(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>   }</div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> </div>
+<div class="line"><a name="l01601"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aaa90d729af62a6c96a57c55a094b04ae"> 1601</a></span>   <a class="code" href="classclang_1_1Declarator.html#aaa90d729af62a6c96a57c55a094b04ae">~Declarator</a>() {</div>
+<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>     <a class="code" href="classclang_1_1Declarator.html#abbc6d7d5916559bbc65ccc85e5961174" title="Reset the contents of this Declarator.">clear</a>();</div>
+<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>   }<span class="comment"></span></div>
+<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="comment">  /// getDeclSpec - Return the declaration-specifier that this declarator was</span></div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="comment">  /// declared with.</span></div>
+<div class="line"><a name="l01606"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a"> 1606</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &<a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DS; }</div>
+<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <span class="comment"></span></div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="comment">  /// getMutableDeclSpec - Return a non-const version of the DeclSpec.  This</span></div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="comment">  /// should be used with extreme care: declspecs can often be shared between</span></div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="comment">  /// multiple declarators, so mutating the DeclSpec affects all of the</span></div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> <span class="comment">  /// Declarators.  This should only be done when the declspec is known to not</span></div>
+<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> <span class="comment">  /// be shared or when in error recovery etc.</span></div>
+<div class="line"><a name="l01613"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a18e7f47dcd494af8ac5583b32340a39a"> 1613</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &<a class="code" href="classclang_1_1Declarator.html#a18e7f47dcd494af8ac5583b32340a39a">getMutableDeclSpec</a>() { <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &<span class="keyword">></span>(DS); }</div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> </div>
+<div class="line"><a name="l01615"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a8ecb038ddea05a46311e082e5a7b3bf1"> 1615</a></span>   <a class="code" href="classclang_1_1AttributePool.html">AttributePool</a> &<a class="code" href="classclang_1_1Declarator.html#a8ecb038ddea05a46311e082e5a7b3bf1">getAttributePool</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>     <span class="keywordflow">return</span> Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a0bc560881446c33bc5312c1b72f5308b">getPool</a>();</div>
+<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>   }</div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> <span class="comment"></span></div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> <span class="comment">  /// getCXXScopeSpec - Return the C++ scope specifier (global scope or</span></div>
+<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="comment">  /// nested-name-specifier) that is part of the declarator-id.</span></div>
+<div class="line"><a name="l01621"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a2d6e6fa737ba7f7e12e0e393d3c73297"> 1621</a></span> <span class="comment"></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> &<a class="code" href="classclang_1_1Declarator.html#a2d6e6fa737ba7f7e12e0e393d3c73297">getCXXScopeSpec</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SS; }</div>
+<div class="line"><a name="l01622"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#adda6697bec104c6bed42e550fc46fe79"> 1622</a></span>   <a class="code" href="classclang_1_1CXXScopeSpec.html" title="Represents a C++ nested-name-specifier or a global scope specifier.">CXXScopeSpec</a> &<a class="code" href="classclang_1_1Declarator.html#adda6697bec104c6bed42e550fc46fe79">getCXXScopeSpec</a>() { <span class="keywordflow">return</span> SS; }</div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="comment"></span></div>
+<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="comment">  /// \brief Retrieve the name specified by this declarator.</span></div>
+<div class="line"><a name="l01625"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#abf6902e9c1758f5db00d427c768edba3"> 1625</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1UnqualifiedId.html" title="Represents a C++ unqualified-id that has been parsed.">UnqualifiedId</a> &<a class="code" href="classclang_1_1Declarator.html#abf6902e9c1758f5db00d427c768edba3" title="Retrieve the name specified by this declarator.">getName</a>() { <span class="keywordflow">return</span> Name; }</div>
+<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>   </div>
+<div class="line"><a name="l01627"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a9f8176e80c2f28664c3a296b75c4137e"> 1627</a></span>   <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156">TheContext</a> <a class="code" href="classclang_1_1Declarator.html#a9f8176e80c2f28664c3a296b75c4137e">getContext</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>; }</div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> </div>
+<div class="line"><a name="l01629"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#adf0eb76469a19966d313ef511897ba68"> 1629</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#adf0eb76469a19966d313ef511897ba68">isPrototypeContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>     <span class="keywordflow">return</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> == <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a> ||</div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>             <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> == <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a> ||</div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>             <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> == <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a> ||</div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>             <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> == <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>);</div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>   }</div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="comment"></span></div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> <span class="comment">  /// \brief Get the source range that spans this declarator.</span></div>
+<div class="line"><a name="l01637"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ac26653ad54d1663d8f1c263f726aabc3"> 1637</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> &<a class="code" href="classclang_1_1Declarator.html#ac26653ad54d1663d8f1c263f726aabc3" title="Get the source range that spans this declarator.">getSourceRange</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Range; }</div>
+<div class="line"><a name="l01638"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aff989778a1ea29d3105089cc46ec79af"> 1638</a></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_1Declarator.html#aff989778a1ea29d3105089cc46ec79af">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(); }</div>
+<div class="line"><a name="l01639"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a3aa840037f7b2c2c2b22ef31d653eb12"> 1639</a></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_1Declarator.html#a3aa840037f7b2c2c2b22ef31d653eb12">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(); }</div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> </div>
+<div class="line"><a name="l01641"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a6188e5a523562bdcc2ea8c8b5331c941"> 1641</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a6188e5a523562bdcc2ea8c8b5331c941">SetSourceRange</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> R) { Range = R; }<span class="comment"></span></div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> <span class="comment">  /// SetRangeBegin - Set the start of the source range to Loc, unless it's</span></div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> <span class="comment">  /// invalid.</span></div>
+<div class="line"><a name="l01644"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a13efa9396ee1040fcd8704321db8243f"> 1644</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a13efa9396ee1040fcd8704321db8243f">SetRangeBegin</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>     <span class="keywordflow">if</span> (!Loc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>       Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(Loc);</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>   }<span class="comment"></span></div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> <span class="comment">  /// SetRangeEnd - Set the end of the source range to Loc, unless it's invalid.</span></div>
+<div class="line"><a name="l01649"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ad1251a155b6375921dd4e6cc682eb53a"> 1649</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#ad1251a155b6375921dd4e6cc682eb53a" title="SetRangeEnd - Set the end of the source range to Loc, unless it's invalid.">SetRangeEnd</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>     <span class="keywordflow">if</span> (!Loc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>       Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(Loc);</div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>   }<span class="comment"></span></div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="comment">  /// ExtendWithDeclSpec - Extend the declarator source range to include the</span></div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="comment">  /// given declspec, unless its location is invalid. Adopts the range start if</span></div>
+<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="comment">  /// the current range start is invalid.</span></div>
+<div class="line"><a name="l01656"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#acde4a425328b570d00be59da31413b70"> 1656</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#acde4a425328b570d00be59da31413b70">ExtendWithDeclSpec</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &DS) {</div>
+<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> &SR = DS.<a class="code" href="classclang_1_1DeclSpec.html#a7b8a30b08c1fa1aac47e417167a8631f">getSourceRange</a>();</div>
+<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>     <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>       Range.<a class="code" href="classclang_1_1SourceRange.html#a11fd265391224233491b6a0d351b8acd">setBegin</a>(SR.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>());</div>
+<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>     <span class="keywordflow">if</span> (!SR.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>       Range.<a class="code" href="classclang_1_1SourceRange.html#af322eeeb77d6c139e13026445159e795">setEnd</a>(SR.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>());</div>
+<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>   }</div>
+<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="comment"></span></div>
+<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="comment">  /// \brief Reset the contents of this Declarator.</span></div>
+<div class="line"><a name="l01665"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#abbc6d7d5916559bbc65ccc85e5961174"> 1665</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#abbc6d7d5916559bbc65ccc85e5961174" title="Reset the contents of this Declarator.">clear</a>() {</div>
+<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>     SS.<a class="code" href="classclang_1_1CXXScopeSpec.html#ad0146caf0e994e6d5982566d622ff8f9">clear</a>();</div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>     Name.<a class="code" href="classclang_1_1UnqualifiedId.html#ae2e485cafc27893a12bcec8ad0bff452" title="Clear out this unqualified-id, setting it to default (invalid) state.">clear</a>();</div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>     Range = DS.<a class="code" href="classclang_1_1DeclSpec.html#a7b8a30b08c1fa1aac47e417167a8631f">getSourceRange</a>();</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>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = DeclTypeInfo.size(); i != e; ++i)</div>
+<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>       DeclTypeInfo[i].destroy();</div>
+<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>     DeclTypeInfo.clear();</div>
+<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>     Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a8b9e7033604ddf2cbed05437fad683d8">clear</a>();</div>
+<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>     AsmLabel = 0;</div>
+<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>     InlineParamsUsed = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>     CommaLoc = <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="l01677"></a><span class="lineno"> 1677</span>     EllipsisLoc = <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="l01678"></a><span class="lineno"> 1678</span>   }</div>
+<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="comment"></span></div>
+<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="comment">  /// mayOmitIdentifier - Return true if the identifier is either optional or</span></div>
+<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="comment">  /// not allowed.  This is true for typenames, prototypes, and template</span></div>
+<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="comment">  /// parameter lists.</span></div>
+<div class="line"><a name="l01683"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a065bae4b5e3f42a3c06da7965077f47c"> 1683</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a065bae4b5e3f42a3c06da7965077f47c">mayOmitIdentifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>     <span class="keywordflow">switch</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>:</div>
+<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2">KNRTypeListContext</a>:</div>
+<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>:</div>
+<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea">BlockContext</a>:</div>
+<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93">ForContext</a>:</div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0">ConditionContext</a>:</div>
+<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> </div>
+<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059">TypeNameContext</a>:</div>
+<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993">AliasDeclContext</a>:</div>
+<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066">AliasTemplateContext</a>:</div>
+<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a>:</div>
+<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>:</div>
+<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a>:</div>
+<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a>:</div>
+<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39">TemplateParamContext</a>:</div>
+<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a">CXXNewContext</a>:</div>
+<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39">CXXCatchContext</a>:</div>
+<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2">ObjCCatchContext</a>:</div>
+<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd">BlockLiteralContext</a>:</div>
+<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5">LambdaExprContext</a>:</div>
+<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7">ConversionIdContext</a>:</div>
+<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8">TemplateTypeArgContext</a>:</div>
+<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42">TrailingReturnContext</a>:</div>
+<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>     }</div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>     llvm_unreachable(<span class="stringliteral">"unknown context kind!"</span>);</div>
+<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>   }</div>
+<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="comment"></span></div>
+<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <span class="comment">  /// mayHaveIdentifier - Return true if the identifier is either optional or</span></div>
+<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> <span class="comment">  /// required.  This is true for normal declarators and prototypes, but not</span></div>
+<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <span class="comment">  /// typenames.</span></div>
+<div class="line"><a name="l01717"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aa9abfecde9d82d440096066028f774f4"> 1717</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#aa9abfecde9d82d440096066028f774f4">mayHaveIdentifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>     <span class="keywordflow">switch</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>:</div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2">KNRTypeListContext</a>:</div>
+<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>:</div>
+<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea">BlockContext</a>:</div>
+<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93">ForContext</a>:</div>
+<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0">ConditionContext</a>:</div>
+<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a>:</div>
+<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>:</div>
+<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39">TemplateParamContext</a>:</div>
+<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39">CXXCatchContext</a>:</div>
+<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2">ObjCCatchContext</a>:</div>
+<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059">TypeNameContext</a>:</div>
+<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a">CXXNewContext</a>:</div>
+<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993">AliasDeclContext</a>:</div>
+<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066">AliasTemplateContext</a>:</div>
+<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a>:</div>
+<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a>:</div>
+<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd">BlockLiteralContext</a>:</div>
+<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5">LambdaExprContext</a>:</div>
+<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7">ConversionIdContext</a>:</div>
+<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8">TemplateTypeArgContext</a>:</div>
+<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42">TrailingReturnContext</a>:</div>
+<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>     }</div>
+<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>     llvm_unreachable(<span class="stringliteral">"unknown context kind!"</span>);</div>
+<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>   }</div>
+<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <span class="comment"></span></div>
+<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> <span class="comment">  /// diagnoseIdentifier - Return true if the identifier is prohibited and</span></div>
+<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="comment">  /// should be diagnosed (because it cannot be anything else).</span></div>
+<div class="line"><a name="l01750"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a6e226da07b6d744634a5c230ecca076b"> 1750</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a6e226da07b6d744634a5c230ecca076b">diagnoseIdentifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>     <span class="keywordflow">switch</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>:</div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2">KNRTypeListContext</a>:</div>
+<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>:</div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea">BlockContext</a>:</div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93">ForContext</a>:</div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0">ConditionContext</a>:</div>
+<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a>:</div>
+<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>:</div>
+<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39">TemplateParamContext</a>:</div>
+<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39">CXXCatchContext</a>:</div>
+<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2">ObjCCatchContext</a>:</div>
+<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059">TypeNameContext</a>:</div>
+<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7">ConversionIdContext</a>:</div>
+<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a>:</div>
+<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a>:</div>
+<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd">BlockLiteralContext</a>:</div>
+<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a">CXXNewContext</a>:</div>
+<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5">LambdaExprContext</a>:</div>
+<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> </div>
+<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993">AliasDeclContext</a>:</div>
+<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066">AliasTemplateContext</a>:</div>
+<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8">TemplateTypeArgContext</a>:</div>
+<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42">TrailingReturnContext</a>:</div>
+<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>       <span class="keywordflow">return</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>     llvm_unreachable(<span class="stringliteral">"unknown context kind!"</span>);</div>
+<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>   }</div>
+<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> <span class="comment"></span></div>
+<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> <span class="comment">  /// mayBeFollowedByCXXDirectInit - Return true if the declarator can be</span></div>
+<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="comment">  /// followed by a C++ direct initializer, e.g. "int x(1);".</span></div>
+<div class="line"><a name="l01783"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a45e72cd4e79e4c1e05a9976ead204256"> 1783</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a45e72cd4e79e4c1e05a9976ead204256">mayBeFollowedByCXXDirectInit</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#a51aa50e2666ddb3df3925e250b616e56">hasGroupingParens</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> </div>
+<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>().getStorageClassSpec() == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">DeclSpec::SCS_typedef</a>)</div>
+<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> </div>
+<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>().getStorageClassSpec() == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a32641ae86aa6300eab150d423d1122f5">DeclSpec::SCS_extern</a> &&</div>
+<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>         <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> != <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>)</div>
+<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> </div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>     <span class="comment">// Special names can't have direct initializers.</span></div>
+<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>     <span class="keywordflow">if</span> (Name.<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#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">UnqualifiedId::IK_Identifier</a>)</div>
+<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> </div>
+<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>     <span class="keywordflow">switch</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>:</div>
+<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea">BlockContext</a>:</div>
+<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93">ForContext</a>:</div>
+<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div>
+<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0">ConditionContext</a>:</div>
+<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>       <span class="comment">// This may not be followed by a direct initializer, but it can't be a</span></div>
+<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>       <span class="comment">// function declaration either, and we'd prefer to perform a tentative</span></div>
+<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>       <span class="comment">// parse in order to produce the right diagnostic.</span></div>
+<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> </div>
+<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2">KNRTypeListContext</a>:</div>
+<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>:</div>
+<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a>:</div>
+<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>:</div>
+<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a>:</div>
+<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a>:</div>
+<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39">TemplateParamContext</a>:</div>
+<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39">CXXCatchContext</a>:</div>
+<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2">ObjCCatchContext</a>:</div>
+<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059">TypeNameContext</a>:</div>
+<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a">CXXNewContext</a>:</div>
+<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993">AliasDeclContext</a>:</div>
+<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066">AliasTemplateContext</a>:</div>
+<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd">BlockLiteralContext</a>:</div>
+<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5">LambdaExprContext</a>:</div>
+<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7">ConversionIdContext</a>:</div>
+<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8">TemplateTypeArgContext</a>:</div>
+<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42">TrailingReturnContext</a>:</div>
+<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>     }</div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>     llvm_unreachable(<span class="stringliteral">"unknown context kind!"</span>);</div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>   }</div>
+<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="comment"></span></div>
+<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> <span class="comment">  /// isPastIdentifier - Return true if we have parsed beyond the point where</span></div>
+<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> <span class="comment">  /// the</span></div>
+<div class="line"><a name="l01834"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a91b289a9fb2d7456aeebfaa1fe11c07e"> 1834</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a91b289a9fb2d7456aeebfaa1fe11c07e">isPastIdentifier</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Name.<a class="code" href="classclang_1_1UnqualifiedId.html#a7f388ac8c50bd4e934a5b3afc0fb8f52" title="Determine whether this unqualified-id refers to a valid name.">isValid</a>(); }</div>
+<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> <span class="comment"></span></div>
+<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> <span class="comment">  /// hasName - Whether this declarator has a name, which might be an</span></div>
+<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> <span class="comment">  /// identifier (accessible via getIdentifier()) or some kind of</span></div>
+<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> <span class="comment">  /// special C++ name (constructor, destructor, etc.).</span></div>
+<div class="line"><a name="l01839"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a6723ac717345ada576f8d19775b5623b"> 1839</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a6723ac717345ada576f8d19775b5623b">hasName</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>     <span class="keywordflow">return</span> Name.<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#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">UnqualifiedId::IK_Identifier</a> || Name.<a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a>;</div>
+<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>   }</div>
+<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> </div>
+<div class="line"><a name="l01843"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ac1465e02d2f6c8fa2a8aa69d8bdcec51"> 1843</a></span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1Declarator.html#ac1465e02d2f6c8fa2a8aa69d8bdcec51">getIdentifier</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>     <span class="keywordflow">if</span> (Name.<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#a13c965a3b07b46673fc277c3e0eaa11ba8b3e6f0586c6a0239f754a3ed7c699de" title="An identifier.">UnqualifiedId::IK_Identifier</a>)</div>
+<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>       <span class="keywordflow">return</span> Name.<a class="code" href="classclang_1_1UnqualifiedId.html#a9086487424ea3da5890f55d91b7b0b91" title="When Kind == IK_Identifier, the parsed identifier, or when Kind == IK_UserLiteralId, the identifier suffix.">Identifier</a>;</div>
+<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>     </div>
+<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>   }</div>
+<div class="line"><a name="l01849"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a9399027da6026803450f7ffb7957adac"> 1849</a></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_1Declarator.html#a9399027da6026803450f7ffb7957adac">getIdentifierLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Name.<a class="code" href="classclang_1_1UnqualifiedId.html#aba342f056ba11010ed6bca849f5cc812" title="The location of the first token that describes this unqualified-id, which will be the location of the...">StartLocation</a>; }</div>
+<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> <span class="comment"></span></div>
+<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> <span class="comment">  /// \brief Set the name of this declarator to be the given identifier.</span></div>
+<div class="line"><a name="l01852"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a0a60bf51acdddfd2077e6725af7ad2f2"> 1852</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a0a60bf51acdddfd2077e6725af7ad2f2" title="Set the name of this declarator to be the given identifier.">SetIdentifier</a>(<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Id, <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> IdLoc) {</div>
+<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>     Name.<a class="code" href="classclang_1_1UnqualifiedId.html#a20feecdc75f0d057e2b280446a03988e" title="Specify that this unqualified-id was parsed as an identifier.">setIdentifier</a>(Id, IdLoc);</div>
+<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>   }</div>
+<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>   <span class="comment"></span></div>
+<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="comment">  /// AddTypeInfo - Add a chunk to this declarator. Also extend the range to</span></div>
+<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> <span class="comment">  /// EndLoc, which should be the last token of the chunk.</span></div>
+<div class="line"><a name="l01858"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a6584999672d6ede1bc33ca1f85452b90"> 1858</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a6584999672d6ede1bc33ca1f85452b90">AddTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> &TI,</div>
+<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>                    <a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> &attrs,</div>
+<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>                    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EndLoc) {</div>
+<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>     DeclTypeInfo.push_back(TI);</div>
+<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>     DeclTypeInfo.back().getAttrListRef() = attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a6a91d21507f031359225804d26671da5">getList</a>();</div>
+<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>     <a class="code" href="classclang_1_1Declarator.html#a8ecb038ddea05a46311e082e5a7b3bf1">getAttributePool</a>().<a class="code" href="classclang_1_1AttributePool.html#add5093382258402a0ee1c2a53b0ed0da" title="Take the given pool's allocations and add them to this pool.">takeAllFrom</a>(attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a0bc560881446c33bc5312c1b72f5308b">getPool</a>());</div>
+<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> </div>
+<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>     <span class="keywordflow">if</span> (!EndLoc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>       <a class="code" href="classclang_1_1Declarator.html#ad1251a155b6375921dd4e6cc682eb53a" title="SetRangeEnd - Set the end of the source range to Loc, unless it's invalid.">SetRangeEnd</a>(EndLoc);</div>
+<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>   }</div>
+<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="comment"></span></div>
+<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> <span class="comment">  /// \brief Add a new innermost chunk to this declarator.</span></div>
+<div class="line"><a name="l01870"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a27bfc56a9a235655aa9002ad5d9cafbf"> 1870</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a27bfc56a9a235655aa9002ad5d9cafbf" title="Add a new innermost chunk to this declarator.">AddInnermostTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> &TI) {</div>
+<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>     DeclTypeInfo.insert(DeclTypeInfo.begin(), TI);</div>
+<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>   }</div>
+<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> <span class="comment"></span></div>
+<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> <span class="comment">  /// \brief Return the number of types applied to this declarator.</span></div>
+<div class="line"><a name="l01875"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a93d4ac55876e700883cd3775f47b499e"> 1875</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1Declarator.html#a93d4ac55876e700883cd3775f47b499e" title="Return the number of types applied to this declarator.">getNumTypeObjects</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DeclTypeInfo.size(); }</div>
+<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> <span class="comment"></span></div>
+<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> <span class="comment">  /// Return the specified TypeInfo from this declarator.  TypeInfo #0 is</span></div>
+<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> <span class="comment">  /// closest to the identifier.</span></div>
+<div class="line"><a name="l01879"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a8eef5fa389c92da7d750fbbb7ce7b9f9"> 1879</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> &<a class="code" href="classclang_1_1Declarator.html#a8eef5fa389c92da7d750fbbb7ce7b9f9">getTypeObject</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>     assert(i < DeclTypeInfo.size() && <span class="stringliteral">"Invalid type chunk"</span>);</div>
+<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>     <span class="keywordflow">return</span> DeclTypeInfo[i];</div>
+<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>   }</div>
+<div class="line"><a name="l01883"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a2e4689279119902c694acfca5c8e5fd2"> 1883</a></span>   <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> &<a class="code" href="classclang_1_1Declarator.html#a2e4689279119902c694acfca5c8e5fd2">getTypeObject</a>(<span class="keywordtype">unsigned</span> i) {</div>
+<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>     assert(i < DeclTypeInfo.size() && <span class="stringliteral">"Invalid type chunk"</span>);</div>
+<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>     <span class="keywordflow">return</span> DeclTypeInfo[i];</div>
+<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>   }</div>
+<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div>
+<div class="line"><a name="l01888"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a5e152172826968b8fc77a3c9d5c2c96b"> 1888</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a5e152172826968b8fc77a3c9d5c2c96b">DropFirstTypeObject</a>() {</div>
+<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>     assert(!DeclTypeInfo.empty() && <span class="stringliteral">"No type chunks to drop."</span>);</div>
+<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>     DeclTypeInfo.front().destroy();</div>
+<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>     DeclTypeInfo.erase(DeclTypeInfo.begin());</div>
+<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>   }</div>
+<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> <span class="comment"></span></div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> <span class="comment">  /// Return the innermost (closest to the declarator) chunk of this</span></div>
+<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> <span class="comment">  /// declarator that is not a parens chunk, or null if there are no</span></div>
+<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> <span class="comment">  /// non-parens chunks.</span></div>
+<div class="line"><a name="l01897"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a40e1644023ee216183fd9c264eb9b112"> 1897</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> *<a class="code" href="classclang_1_1Declarator.html#a40e1644023ee216183fd9c264eb9b112">getInnermostNonParenChunk</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, i_end = DeclTypeInfo.size(); i < i_end; ++i) {</div>
+<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>       <span class="keywordflow">if</span> (!DeclTypeInfo[i].isParen())</div>
+<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>         <span class="keywordflow">return</span> &DeclTypeInfo[i];</div>
+<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>     }</div>
+<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>   }</div>
+<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> <span class="comment"></span></div>
+<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> <span class="comment">  /// Return the outermost (furthest from the declarator) chunk of</span></div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="comment">  /// this declarator that is not a parens chunk, or null if there are</span></div>
+<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="comment">  /// no non-parens chunks.</span></div>
+<div class="line"><a name="l01908"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a3a59facaf15ac81ae08c9fd3195f35c6"> 1908</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> *<a class="code" href="classclang_1_1Declarator.html#a3a59facaf15ac81ae08c9fd3195f35c6">getOutermostNonParenChunk</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = DeclTypeInfo.size(), i_end = 0; i != i_end; --i) {</div>
+<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>       <span class="keywordflow">if</span> (!DeclTypeInfo[i-1].isParen())</div>
+<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>         <span class="keywordflow">return</span> &DeclTypeInfo[i-1];</div>
+<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>     }</div>
+<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>   }</div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="comment"></span></div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="comment">  /// isArrayOfUnknownBound - This method returns true if the declarator</span></div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="comment">  /// is a declarator for an array of unknown bound (looking through</span></div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> <span class="comment">  /// parentheses).</span></div>
+<div class="line"><a name="l01919"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a838f4aa3ddb37ae75e9b329f62aa74ae"> 1919</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a838f4aa3ddb37ae75e9b329f62aa74ae">isArrayOfUnknownBound</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk.html" title="One instance of this struct is used for each type in a declarator that is parsed.">DeclaratorChunk</a> *chunk = <a class="code" href="classclang_1_1Declarator.html#a40e1644023ee216183fd9c264eb9b112">getInnermostNonParenChunk</a>();</div>
+<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>     <span class="keywordflow">return</span> (chunk && chunk-><a class="code" href="structclang_1_1DeclaratorChunk.html#aec83aec53644bae39b90eb0d71bfa637">Kind</a> == <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a458e84399294467ade706cfe3dee7240">DeclaratorChunk::Array</a> &&</div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>             !chunk-><a class="code" href="structclang_1_1DeclaratorChunk.html#ab7c499debcda6a7f282d04cea2388718">Arr</a>.<a class="code" href="structclang_1_1DeclaratorChunk_1_1ArrayTypeInfo.html#a9767403ded240b6332e62b541b2bad55">NumElts</a>);</div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>   }</div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="comment"></span></div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <span class="comment">  /// isFunctionDeclarator - This method returns true if the declarator</span></div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="comment">  /// is a function declarator (looking through parentheses).</span></div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="comment">  /// If true is returned, then the reference type parameter idx is</span></div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> <span class="comment">  /// assigned with the index of the declaration chunk.</span></div>
+<div class="line"><a name="l01929"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ac884bb945b77ea6b605e9c7c5fd66bad"> 1929</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#ac884bb945b77ea6b605e9c7c5fd66bad">isFunctionDeclarator</a>(<span class="keywordtype">unsigned</span>& idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, i_end = DeclTypeInfo.size(); i < i_end; ++i) {</div>
+<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>       <span class="keywordflow">switch</span> (DeclTypeInfo[i].<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>) {</div>
+<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a0e535631da889deff61b9c14174afd9e">DeclaratorChunk::Function</a>:</div>
+<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>         idx = i;</div>
+<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">DeclaratorChunk::Paren</a>:</div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a2105075936fee6ae5464e8c902228e53">DeclaratorChunk::Pointer</a>:</div>
+<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ac7ffa77fa0063707f15008dcec5f6a08">DeclaratorChunk::Reference</a>:</div>
+<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a458e84399294467ade706cfe3dee7240">DeclaratorChunk::Array</a>:</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87aebff05a194dee2aee5dc6edda8111506">DeclaratorChunk::BlockPointer</a>:</div>
+<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>       <span class="keywordflow">case</span> <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87ab6eb18465aa2188504014b5ae7d0cf5f">DeclaratorChunk::MemberPointer</a>:</div>
+<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>       }</div>
+<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>       llvm_unreachable(<span class="stringliteral">"Invalid type chunk"</span>);</div>
+<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>     }</div>
+<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>   }</div>
+<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> <span class="comment"></span></div>
+<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="comment">  /// isFunctionDeclarator - Once this declarator is fully parsed and formed,</span></div>
+<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="comment">  /// this method returns true if the identifier is a function declarator</span></div>
+<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <span class="comment">  /// (looking through parentheses).</span></div>
+<div class="line"><a name="l01952"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1074b5b381db7c0423503d9353009d32"> 1952</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a1074b5b381db7c0423503d9353009d32">isFunctionDeclarator</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>     <span class="keywordtype">unsigned</span> index;</div>
+<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Declarator.html#a1074b5b381db7c0423503d9353009d32">isFunctionDeclarator</a>(index);</div>
+<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>   }</div>
+<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> <span class="comment"></span></div>
+<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="comment">  /// getFunctionTypeInfo - Retrieves the function type info object</span></div>
+<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> <span class="comment">  /// (looking through parentheses).</span></div>
+<div class="line"><a name="l01959"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aab829e1627079197e630182d9d56a9c6"> 1959</a></span> <span class="comment"></span>  <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html">DeclaratorChunk::FunctionTypeInfo</a> &<a class="code" href="classclang_1_1Declarator.html#aab829e1627079197e630182d9d56a9c6">getFunctionTypeInfo</a>() {</div>
+<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>     assert(<a class="code" href="classclang_1_1Declarator.html#a1074b5b381db7c0423503d9353009d32">isFunctionDeclarator</a>() && <span class="stringliteral">"Not a function declarator!"</span>);</div>
+<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>     <span class="keywordtype">unsigned</span> index = 0;</div>
+<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>     <a class="code" href="classclang_1_1Declarator.html#a1074b5b381db7c0423503d9353009d32">isFunctionDeclarator</a>(index);</div>
+<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>     <span class="keywordflow">return</span> DeclTypeInfo[index].Fun;</div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>   }</div>
+<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> <span class="comment"></span></div>
+<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="comment">  /// getFunctionTypeInfo - Retrieves the function type info object</span></div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> <span class="comment">  /// (looking through parentheses).</span></div>
+<div class="line"><a name="l01968"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aa44f63301048fce9d8c8a2fb8faeebe5"> 1968</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1DeclaratorChunk_1_1FunctionTypeInfo.html">DeclaratorChunk::FunctionTypeInfo</a> &<a class="code" href="classclang_1_1Declarator.html#aa44f63301048fce9d8c8a2fb8faeebe5">getFunctionTypeInfo</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1Declarator.html" title="Information about one declarator, including the parsed type information and the identifier.">Declarator</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1Declarator.html#aab829e1627079197e630182d9d56a9c6">getFunctionTypeInfo</a>();</div>
+<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>   }</div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="comment"></span></div>
+<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="comment">  /// \brief Determine whether the declaration that will be produced from </span></div>
+<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="comment">  /// this declaration will be a function.</span></div>
+<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="comment">  /// </span></div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> <span class="comment">  /// A declaration can declare a function even if the declarator itself</span></div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="comment">  /// isn't a function declarator, if the type specifier refers to a function</span></div>
+<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> <span class="comment">  /// type. This routine checks for both cases.</span></div>
+<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a9d0696cc881a0a8690b1a2bff75c9aa3" title="Determine whether the declaration that will be produced from this declaration will be a function...">isDeclarationOfFunction</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> <span class="comment"></span></div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> <span class="comment">  /// \brief Return true if this declaration appears in a context where a</span></div>
+<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="comment">  /// function declarator would be a function declaration.</span></div>
+<div class="line"><a name="l01982"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a88bdfa717d4c4f12082c89926d7fb5a1"> 1982</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a88bdfa717d4c4f12082c89926d7fb5a1" title="Return true if this declaration appears in a context where a function declarator would be a function ...">isFunctionDeclarationContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>().getStorageClassSpec() == <a class="code" href="classclang_1_1DeclSpec.html#a4b96d236218cac3d52edb71876f64da4a011d480a161c7912d7e7bce118fbeda0">DeclSpec::SCS_typedef</a>)</div>
+<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> </div>
+<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>     <span class="keywordflow">switch</span> (<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) {</div>
+<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0880405dff056ebbd56152e963e5cd5">FileContext</a>:</div>
+<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a>:</div>
+<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a9bb6c611e9a33a82dbb4c1a9118c08ea">BlockContext</a>:</div>
+<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> </div>
+<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af0285808feb2eb0c628ae622722cfc93">ForContext</a>:</div>
+<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ae7d145b05549f2afadc9c3fde35448c0">ConditionContext</a>:</div>
+<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3d41f68cb3f0b6ee8662782bd2b405e2">KNRTypeListContext</a>:</div>
+<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af6a65b9722482d168d5cfadccf440059">TypeNameContext</a>:</div>
+<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156aba6faa10597fac5b7d0b6c73b4c79993">AliasDeclContext</a>:</div>
+<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1cb68d53d8d76ffd6bc21da250d21066">AliasTemplateContext</a>:</div>
+<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ab6615dbe95fb0d7b843377867d885c5e">PrototypeContext</a>:</div>
+<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a68431e3a649e3a4351ac0bda59514319">LambdaExprParameterContext</a>:</div>
+<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9f4b7c6627a83c4a3a8bb0cfc55d27a">ObjCParameterContext</a>:</div>
+<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ad99127cdec82927fa14ed2c6f287d92d">ObjCResultContext</a>:</div>
+<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a3a9ec4667fd278c96d089f2ffbed2f39">TemplateParamContext</a>:</div>
+<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a003839cecf7edb1ec3a5ab348b8f0b1a">CXXNewContext</a>:</div>
+<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a21449faf6bc8f7026199902c1747be39">CXXCatchContext</a>:</div>
+<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a447237890009e52b6d73eb10364dbca2">ObjCCatchContext</a>:</div>
+<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156af9709e24ae1e26152f5c02325f364bfd">BlockLiteralContext</a>:</div>
+<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156ac24af36362fb43fa4aa73385cfbe33f5">LambdaExprContext</a>:</div>
+<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a654174cf8b6fef11adfd70e39e135cb7">ConversionIdContext</a>:</div>
+<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a2933a5d10fe1f507765c8192eab102c8">TemplateTypeArgContext</a>:</div>
+<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a59979e5a4b957844d544c3b617178f42">TrailingReturnContext</a>:</div>
+<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>     }</div>
+<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>     llvm_unreachable(<span class="stringliteral">"unknown context kind!"</span>);</div>
+<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>   }</div>
+<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>   <span class="comment"></span></div>
+<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> <span class="comment">  /// \brief Return true if a function declarator at this position would be a</span></div>
+<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="comment">  /// function declaration.</span></div>
+<div class="line"><a name="l02018"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1e656a51e602628292dd2193d1765318"> 2018</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a1e656a51e602628292dd2193d1765318" title="Return true if a function declarator at this position would be a function declaration.">isFunctionDeclaratorAFunctionDeclaration</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Declarator.html#a88bdfa717d4c4f12082c89926d7fb5a1" title="Return true if this declaration appears in a context where a function declarator would be a function ...">isFunctionDeclarationContext</a>())</div>
+<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> </div>
+<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = <a class="code" href="classclang_1_1Declarator.html#a93d4ac55876e700883cd3775f47b499e" title="Return the number of types applied to this declarator.">getNumTypeObjects</a>(); I != N; ++I)</div>
+<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#a8eef5fa389c92da7d750fbbb7ce7b9f9">getTypeObject</a>(I).<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> != <a class="code" href="structclang_1_1DeclaratorChunk.html#acbcfac544c507b8adc4e86c601a12a87a57373a039ec59e16a4eaefef3bdcf647">DeclaratorChunk::Paren</a>)</div>
+<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> </div>
+<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>   }</div>
+<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> <span class="comment"></span></div>
+<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> <span class="comment">  /// takeAttributes - Takes attributes from the given parsed-attributes</span></div>
+<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> <span class="comment">  /// set and add them to this declarator.</span></div>
+<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="comment">  /// These examples both add 3 attributes to "var":</span></div>
+<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> <span class="comment">  ///  short int var __attribute__((aligned(16),common,deprecated));</span></div>
+<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> <span class="comment">  ///  short int x, __attribute__((aligned(16)) var</span></div>
+<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> <span class="comment">  ///                                 __attribute__((common,deprecated));</span></div>
+<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="comment">  /// Also extends the range of the declarator.</span></div>
+<div class="line"><a name="l02038"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ab4dfc56d6a59b4ea59e6a1f327327918"> 2038</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#ab4dfc56d6a59b4ea59e6a1f327327918">takeAttributes</a>(<a class="code" href="classclang_1_1ParsedAttributes.html">ParsedAttributes</a> &attrs, <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> lastLoc) {</div>
+<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>     Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a349d4d89c35d9792ef5695d9ae2d2f20">takeAllFrom</a>(attrs);</div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> </div>
+<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>     <span class="keywordflow">if</span> (!lastLoc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>())</div>
+<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>       <a class="code" href="classclang_1_1Declarator.html#ad1251a155b6375921dd4e6cc682eb53a" title="SetRangeEnd - Set the end of the source range to Loc, unless it's invalid.">SetRangeEnd</a>(lastLoc);</div>
+<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>   }</div>
+<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> </div>
+<div class="line"><a name="l02045"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aeb66a4bbf426a437b07c04fd5eb52982"> 2045</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *<a class="code" href="classclang_1_1Declarator.html#aeb66a4bbf426a437b07c04fd5eb52982">getAttributes</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a6a91d21507f031359225804d26671da5">getList</a>(); }</div>
+<div class="line"><a name="l02046"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a1187178590ca0465e993b0b8c7103285"> 2046</a></span>   <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *<a class="code" href="classclang_1_1Declarator.html#a1187178590ca0465e993b0b8c7103285">getAttributes</a>() { <span class="keywordflow">return</span> Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a6a91d21507f031359225804d26671da5">getList</a>(); }</div>
+<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> </div>
+<div class="line"><a name="l02048"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a8b15158aaa30fd09bc688f8c1a42d1c3"> 2048</a></span>   <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *&<a class="code" href="classclang_1_1Declarator.html#a8b15158aaa30fd09bc688f8c1a42d1c3">getAttrListRef</a>() { <span class="keywordflow">return</span> Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#ad3d88f42687ff2158462bf24f4473f0a">getListRef</a>(); }</div>
+<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> <span class="comment"></span></div>
+<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="comment">  /// hasAttributes - do we contain any attributes?</span></div>
+<div class="line"><a name="l02051"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a712dea0b5fde97c40df0a754b21e4ad6"> 2051</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a712dea0b5fde97c40df0a754b21e4ad6" title="hasAttributes - do we contain any attributes?">hasAttributes</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#aeb66a4bbf426a437b07c04fd5eb52982">getAttributes</a>() || <a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>().<a class="code" href="classclang_1_1Declarator.html#a712dea0b5fde97c40df0a754b21e4ad6" title="hasAttributes - do we contain any attributes?">hasAttributes</a>()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = <a class="code" href="classclang_1_1Declarator.html#a93d4ac55876e700883cd3775f47b499e" title="Return the number of types applied to this declarator.">getNumTypeObjects</a>(); i != e; ++i)</div>
+<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Declarator.html#a8eef5fa389c92da7d750fbbb7ce7b9f9">getTypeObject</a>(i).getAttrs())</div>
+<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>   }</div>
+<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="comment"></span></div>
+<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> <span class="comment">  /// \brief Return a source range list of C++11 attributes associated</span></div>
+<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> <span class="comment">  /// with the declarator.</span></div>
+<div class="line"><a name="l02061"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aff5c6b1866e736665ef2f7ae432fdb83"> 2061</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#aff5c6b1866e736665ef2f7ae432fdb83" title="Return a source range list of C++11 attributes associated with the declarator.">getCXX11AttributeRanges</a>(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<SourceRange></a> &<a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>) {</div>
+<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>     <a class="code" href="classclang_1_1AttributeList.html">AttributeList</a> *AttrList = Attrs.<a class="code" href="classclang_1_1ParsedAttributes.html#a6a91d21507f031359225804d26671da5">getList</a>();</div>
+<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>     <span class="keywordflow">while</span> (AttrList) {</div>
+<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>       <span class="keywordflow">if</span> (AttrList-><a class="code" href="classclang_1_1AttributeList.html#a6e7765977c4d8e2f47197ef94f5e0b37">isCXX11Attribute</a>())</div>
+<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>         Ranges.push_back(AttrList-><a class="code" href="classclang_1_1AttributeList.html#a8ac1ba0f1ee3819ffdea1a6102ddf037">getRange</a>());</div>
+<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>       AttrList = AttrList-><a class="code" href="classclang_1_1AttributeList.html#a9e8836cfe5794658c6811dc504476f39">getNext</a>();</div>
+<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>     }</div>
+<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>   }</div>
+<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> </div>
+<div class="line"><a name="l02070"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ac41e0c7c1036df9c18192b67610c7a28"> 2070</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#ac41e0c7c1036df9c18192b67610c7a28">setAsmLabel</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { AsmLabel = E; }</div>
+<div class="line"><a name="l02071"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a4a9773a8044f2dd8f5688ed0fc3fb669"> 2071</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Declarator.html#a4a9773a8044f2dd8f5688ed0fc3fb669">getAsmLabel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AsmLabel; }</div>
+<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> </div>
+<div class="line"><a name="l02073"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#ad641e738bd91014de505d194635fd87e"> 2073</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#ad641e738bd91014de505d194635fd87e">setExtension</a>(<span class="keywordtype">bool</span> Val = <span class="keyword">true</span>) { Extension = Val; }</div>
+<div class="line"><a name="l02074"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a749938072cd417667086a98899c95ab2"> 2074</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a749938072cd417667086a98899c95ab2">getExtension</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Extension; }</div>
+<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> </div>
+<div class="line"><a name="l02076"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a5c81152c5ac5b3c8aa340c413ed634a8"> 2076</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a5c81152c5ac5b3c8aa340c413ed634a8">setInvalidType</a>(<span class="keywordtype">bool</span> Val = <span class="keyword">true</span>) { InvalidType = Val; }</div>
+<div class="line"><a name="l02077"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#acf30c6365eec56c5d3d4ec7266d9a6c9"> 2077</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#acf30c6365eec56c5d3d4ec7266d9a6c9">isInvalidType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>     <span class="keywordflow">return</span> InvalidType || DS.<a class="code" href="classclang_1_1DeclSpec.html#a8e80657590008634115a6fe1d31f7600">getTypeSpecType</a>() == <a class="code" href="classclang_1_1DeclSpec.html#ad986a396df298706c209747e9e939f9d">DeclSpec::TST_error</a>;</div>
+<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>   }</div>
+<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> </div>
+<div class="line"><a name="l02081"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a688393fbb6bd2ba0c28d8a3a2e6aa332"> 2081</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a688393fbb6bd2ba0c28d8a3a2e6aa332">setGroupingParens</a>(<span class="keywordtype">bool</span> flag) { GroupingParens = flag; }</div>
+<div class="line"><a name="l02082"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a51aa50e2666ddb3df3925e250b616e56"> 2082</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a51aa50e2666ddb3df3925e250b616e56">hasGroupingParens</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> GroupingParens; }</div>
+<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> </div>
+<div class="line"><a name="l02084"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a04d15a49aa09bcd8b1af4889fece9c3d"> 2084</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a04d15a49aa09bcd8b1af4889fece9c3d">isFirstDeclarator</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !CommaLoc.<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="l02085"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a66061e268f7c9a5790514a83364b767f"> 2085</a></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_1Declarator.html#a66061e268f7c9a5790514a83364b767f">getCommaLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> CommaLoc; }</div>
+<div class="line"><a name="l02086"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a157378bd7faeace494842c8890630345"> 2086</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a157378bd7faeace494842c8890630345">setCommaLoc</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> CL) { CommaLoc = CL; }</div>
+<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> </div>
+<div class="line"><a name="l02088"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a51c82ca88a697a3cdc5e92e287a3c58d"> 2088</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a51c82ca88a697a3cdc5e92e287a3c58d">hasEllipsis</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EllipsisLoc.<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="l02089"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a58c600f71c8a79aa675b86da3c5298b1"> 2089</a></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_1Declarator.html#a58c600f71c8a79aa675b86da3c5298b1">getEllipsisLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EllipsisLoc; }</div>
+<div class="line"><a name="l02090"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#afe56933de21b56e6844e0f4b6b1c6347"> 2090</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#afe56933de21b56e6844e0f4b6b1c6347">setEllipsisLoc</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> EL) { EllipsisLoc = EL; }</div>
+<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> </div>
+<div class="line"><a name="l02092"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aa9790f94a9fc864c2b290051e7b744f5"> 2092</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#aa9790f94a9fc864c2b290051e7b744f5">setFunctionDefinitionKind</a>(<a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529" title="Described the kind of function definition (if any) provided for a function.">FunctionDefinitionKind</a> Val) { </div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>     FunctionDefinition = Val; </div>
+<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>   }</div>
+<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>   </div>
+<div class="line"><a name="l02096"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a3b3c964f64010287911099dc3d181dfb"> 2096</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#a3b3c964f64010287911099dc3d181dfb">isFunctionDefinition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Declarator.html#a3ff5ec6696770b7654f573f0ce354b1e">getFunctionDefinitionKind</a>() != <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529ad5998437efe34ac6bc995c6b55b726c1">FDK_Declaration</a>;</div>
+<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>   }</div>
+<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>   </div>
+<div class="line"><a name="l02100"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a3ff5ec6696770b7654f573f0ce354b1e"> 2100</a></span>   <a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529" title="Described the kind of function definition (if any) provided for a function.">FunctionDefinitionKind</a> <a class="code" href="classclang_1_1Declarator.html#a3ff5ec6696770b7654f573f0ce354b1e">getFunctionDefinitionKind</a>()<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>     <span class="keywordflow">return</span> (<a class="code" href="namespaceclang.html#a1ffc7a7adb0d5acc8fcc45f18dd5b529" title="Described the kind of function definition (if any) provided for a function.">FunctionDefinitionKind</a>)FunctionDefinition; </div>
+<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>   }</div>
+<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> <span class="comment"></span></div>
+<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <span class="comment">  /// Returns true if this declares a real member and not a friend.</span></div>
+<div class="line"><a name="l02105"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#aea2ea6560d813071e85b3e6c487d2c65"> 2105</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#aea2ea6560d813071e85b3e6c487d2c65" title="Returns true if this declares a real member and not a friend.">isFirstDeclarationOfMember</a>() {</div>
+<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Declarator.html#a9f8176e80c2f28664c3a296b75c4137e">getContext</a>() == <a class="code" href="classclang_1_1Declarator.html#a1e882aec89a926d4a64b0ac2d6a40156a1e14935ffa1250c82e451a548b7302f6">MemberContext</a> && !<a class="code" href="classclang_1_1Declarator.html#a759faf43a439cce3a915e11f33ff8c5a">getDeclSpec</a>().<a class="code" href="classclang_1_1DeclSpec.html#a102837205c9d404fc55dec8bcf7435e3">isFriendSpecified</a>();</div>
+<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>   }</div>
+<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> <span class="comment"></span></div>
+<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> <span class="comment">  /// Returns true if this declares a static member.  This cannot be called on a</span></div>
+<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> <span class="comment">  /// declarator outside of a MemberContext because we won't know until</span></div>
+<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> <span class="comment">  /// redeclaration time if the decl is static.</span></div>
+<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#af66fb6a1e43e0bb86d368948e726005f">isStaticMember</a>();</div>
+<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> </div>
+<div class="line"><a name="l02114"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#a3088eec980c88ce966acd2ebe03f656b"> 2114</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Declarator.html#a3088eec980c88ce966acd2ebe03f656b">setRedeclaration</a>(<span class="keywordtype">bool</span> Val) { Redeclaration = Val; }</div>
+<div class="line"><a name="l02115"></a><span class="lineno"><a class="code" href="classclang_1_1Declarator.html#add704aeb9a125b627badaf05eb248de4"> 2115</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Declarator.html#add704aeb9a125b627badaf05eb248de4">isRedeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Redeclaration; }</div>
+<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> };</div>
+<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="comment"></span></div>
+<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> <span class="comment">/// \brief This little struct is used to capture information about</span></div>
+<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> <span class="comment">/// structure field declarators, which is basically just a bitfield size.</span></div>
+<div class="line"><a name="l02120"></a><span class="lineno"><a class="code" href="structclang_1_1FieldDeclarator.html"> 2120</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1FieldDeclarator.html" title="This little struct is used to capture information about structure field declarators, which is basically just a bitfield size.">FieldDeclarator</a> {</div>
+<div class="line"><a name="l02121"></a><span class="lineno"><a class="code" href="structclang_1_1FieldDeclarator.html#a53db54883a89e3dfc2f024ad7c8a836d"> 2121</a></span>   <a class="code" href="classclang_1_1Declarator.html" title="Information about one declarator, including the parsed type information and the identifier.">Declarator</a> <a class="code" href="structclang_1_1FieldDeclarator.html#a53db54883a89e3dfc2f024ad7c8a836d">D</a>;</div>
+<div class="line"><a name="l02122"></a><span class="lineno"><a class="code" href="structclang_1_1FieldDeclarator.html#a252c31d5ccc8895132e29ecbbea54d00"> 2122</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="structclang_1_1FieldDeclarator.html#a252c31d5ccc8895132e29ecbbea54d00">BitfieldSize</a>;</div>
+<div class="line"><a name="l02123"></a><span class="lineno"><a class="code" href="structclang_1_1FieldDeclarator.html#a1eca63f3c13f30bf9a5cbb56cb47d399"> 2123</a></span>   <span class="keyword">explicit</span> <a class="code" href="structclang_1_1FieldDeclarator.html#a1eca63f3c13f30bf9a5cbb56cb47d399">FieldDeclarator</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclSpec.html" title="Captures information about "declaration specifiers".">DeclSpec</a> &DS)</div>
+<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>     : <a class="code" href="structclang_1_1FieldDeclarator.html#a53db54883a89e3dfc2f024ad7c8a836d">D</a>(DS, <a class="code" href="classclang_1_1Declarator.html" title="Information about one declarator, including the parsed type information and the identifier.">Declarator</a>::MemberContext), <a class="code" href="structclang_1_1FieldDeclarator.html#a252c31d5ccc8895132e29ecbbea54d00">BitfieldSize</a>(0) { }</div>
+<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> };</div>
+<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> <span class="comment"></span></div>
+<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> <span class="comment">/// \brief Represents a C++11 virt-specifier-seq.</span></div>
+<div class="line"><a name="l02128"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html"> 2128</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1VirtSpecifiers.html" title="Represents a C++11 virt-specifier-seq.">VirtSpecifiers</a> {</div>
+<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02130"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1"> 2130</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1">Specifier</a> {</div>
+<div class="line"><a name="l02131"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1ab584abf7f6ea5b77473e481f61a5ae15"> 2131</a></span>     <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1ab584abf7f6ea5b77473e481f61a5ae15">VS_None</a> = 0,</div>
+<div class="line"><a name="l02132"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a4c3ca5f414c60021152e440f7e8a6a50"> 2132</a></span>     <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a4c3ca5f414c60021152e440f7e8a6a50">VS_Override</a> = 1,</div>
+<div class="line"><a name="l02133"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a8892bfedc18df7a5ebd8c9d277f39815"> 2133</a></span>     <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a8892bfedc18df7a5ebd8c9d277f39815">VS_Final</a> = 2,</div>
+<div class="line"><a name="l02134"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1adc724271c479af3b8cdbf46321b9a55c"> 2134</a></span>     <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1adc724271c479af3b8cdbf46321b9a55c">VS_Sealed</a> = 4</div>
+<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>   };</div>
+<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> </div>
+<div class="line"><a name="l02137"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#a2d5f7e7d577b27bc24ddaf17090abb66"> 2137</a></span>   <a class="code" href="classclang_1_1VirtSpecifiers.html#a2d5f7e7d577b27bc24ddaf17090abb66">VirtSpecifiers</a>() : Specifiers(0) { }</div>
+<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> </div>
+<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#afd3fde9131ff9c31c99f4cdf8c38e73d">SetSpecifier</a>(<a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1">Specifier</a> VS, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>                     <span class="keyword">const</span> <span class="keywordtype">char</span> *&PrevSpec);</div>
+<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> </div>
+<div class="line"><a name="l02142"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#af10b74a552f6f5666b09406d1a2e8fc5"> 2142</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#af10b74a552f6f5666b09406d1a2e8fc5">isOverrideSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Specifiers & <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a4c3ca5f414c60021152e440f7e8a6a50">VS_Override</a>; }</div>
+<div class="line"><a name="l02143"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#a1ce2226de95a4c0f0b4fba90229f2c37"> 2143</a></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_1VirtSpecifiers.html#a1ce2226de95a4c0f0b4fba90229f2c37">getOverrideLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> VS_overrideLoc; }</div>
+<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> </div>
+<div class="line"><a name="l02145"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#af3c89171c47449595b0d90e76aa79e01"> 2145</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#af3c89171c47449595b0d90e76aa79e01">isFinalSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Specifiers & (<a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1a8892bfedc18df7a5ebd8c9d277f39815">VS_Final</a> | <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1adc724271c479af3b8cdbf46321b9a55c">VS_Sealed</a>); }</div>
+<div class="line"><a name="l02146"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#a8c876afdff5c9646bbc2fc51cfb2726d"> 2146</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#a8c876afdff5c9646bbc2fc51cfb2726d">isFinalSpelledSealed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Specifiers & <a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1adc724271c479af3b8cdbf46321b9a55c">VS_Sealed</a>; }</div>
+<div class="line"><a name="l02147"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#a6f0f19cf4fc053c1fd692cfbb140425b"> 2147</a></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_1VirtSpecifiers.html#a6f0f19cf4fc053c1fd692cfbb140425b">getFinalLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> VS_finalLoc; }</div>
+<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> </div>
+<div class="line"><a name="l02149"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#af9bd277bb4f7124376c27caa5c73806a"> 2149</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1VirtSpecifiers.html#af9bd277bb4f7124376c27caa5c73806a">clear</a>() { Specifiers = 0; }</div>
+<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> </div>
+<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1VirtSpecifiers.html#af79d35f542ae2fcf0618594c416625f7">getSpecifierName</a>(<a class="code" href="classclang_1_1VirtSpecifiers.html#aef153c2e2a994aed00a49cb1035616a1">Specifier</a> VS);</div>
+<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> </div>
+<div class="line"><a name="l02153"></a><span class="lineno"><a class="code" href="classclang_1_1VirtSpecifiers.html#abbf570485b7e9446e9fe4baabf0b9ad6"> 2153</a></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_1VirtSpecifiers.html#abbf570485b7e9446e9fe4baabf0b9ad6">getLastLocation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LastLocation; }</div>
+<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>   </div>
+<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>   <span class="keywordtype">unsigned</span> Specifiers;</div>
+<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> </div>
+<div class="line"><a name="l02158"></a><span class="lineno"> 2158</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> VS_overrideLoc, VS_finalLoc;</div>
+<div class="line"><a name="l02159"></a><span class="lineno"> 2159</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> LastLocation;</div>
+<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> };</div>
+<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> <span class="comment"></span></div>
+<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> <span class="comment">/// \brief An individual capture in a lambda introducer.</span></div>
+<div class="line"><a name="l02163"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html"> 2163</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1LambdaCapture.html" title="An individual capture in a lambda introducer.">LambdaCapture</a> {</div>
+<div class="line"><a name="l02164"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#a6a47e5f5c74221453ae9fd212ea65113"> 2164</a></span>   <a class="code" href="namespaceclang.html#a4302d73c34f84f339015be4a88d5645e" title="The different capture forms in a lambda introducer.">LambdaCaptureKind</a> <a class="code" href="structclang_1_1LambdaCapture.html#a6a47e5f5c74221453ae9fd212ea65113">Kind</a>;</div>
+<div class="line"><a name="l02165"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#a48e76aa5a61459821c27db00a8f2c86a"> 2165</a></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="structclang_1_1LambdaCapture.html#a48e76aa5a61459821c27db00a8f2c86a">Loc</a>;</div>
+<div class="line"><a name="l02166"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#a59f91e97901625222ed5ce84de549071"> 2166</a></span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="structclang_1_1LambdaCapture.html#a59f91e97901625222ed5ce84de549071">Id</a>;</div>
+<div class="line"><a name="l02167"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#a52aa4fcb345cc9c8fb3499ed785ce1e3"> 2167</a></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="structclang_1_1LambdaCapture.html#a52aa4fcb345cc9c8fb3499ed785ce1e3">EllipsisLoc</a>;</div>
+<div class="line"><a name="l02168"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#a75242ad9004acb498f200cce61e242f4"> 2168</a></span>   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="structclang_1_1LambdaCapture.html#a75242ad9004acb498f200cce61e242f4">Init</a>;</div>
+<div class="line"><a name="l02169"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#a577fbc333cfda8d2d014a7fec5ca5c60"> 2169</a></span>   <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> <a class="code" href="structclang_1_1LambdaCapture.html#a577fbc333cfda8d2d014a7fec5ca5c60">InitCaptureType</a>;</div>
+<div class="line"><a name="l02170"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaCapture.html#ae2426c2157bbbf3b1588e7d2c9fa6647"> 2170</a></span>   <a class="code" href="structclang_1_1LambdaCapture.html#ae2426c2157bbbf3b1588e7d2c9fa6647">LambdaCapture</a>(<a class="code" href="namespaceclang.html#a4302d73c34f84f339015be4a88d5645e" title="The different capture forms in a lambda introducer.">LambdaCaptureKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="structclang_1_1LambdaCapture.html#a48e76aa5a61459821c27db00a8f2c86a">Loc</a>,</div>
+<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>                 <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>* <a class="code" href="structclang_1_1LambdaCapture.html#a59f91e97901625222ed5ce84de549071">Id</a>,</div>
+<div class="line"><a name="l02172"></a><span class="lineno"> 2172</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="structclang_1_1LambdaCapture.html#a52aa4fcb345cc9c8fb3499ed785ce1e3">EllipsisLoc</a>,</div>
+<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>                 <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> <a class="code" href="structclang_1_1LambdaCapture.html#a75242ad9004acb498f200cce61e242f4">Init</a>, <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> <a class="code" href="structclang_1_1LambdaCapture.html#a577fbc333cfda8d2d014a7fec5ca5c60">InitCaptureType</a>)</div>
+<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>     : Kind(Kind), Loc(Loc), Id(Id), EllipsisLoc(EllipsisLoc), Init(Init),</div>
+<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>         InitCaptureType(InitCaptureType)</div>
+<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>   {}</div>
+<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> };</div>
+<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> <span class="comment"></span></div>
+<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> <span class="comment">/// \brief Represents a complete lambda introducer.</span></div>
+<div class="line"><a name="l02180"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html"> 2180</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1LambdaIntroducer.html" title="Represents a complete lambda introducer.">LambdaIntroducer</a> {</div>
+<div class="line"><a name="l02181"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html#af74844a8b0639a68481f14207eb337ae"> 2181</a></span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="structclang_1_1LambdaIntroducer.html#af74844a8b0639a68481f14207eb337ae">Range</a>;</div>
+<div class="line"><a name="l02182"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html#ae905bf748793267d8f8c6b81fd796b27"> 2182</a></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="structclang_1_1LambdaIntroducer.html#ae905bf748793267d8f8c6b81fd796b27">DefaultLoc</a>;</div>
+<div class="line"><a name="l02183"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html#af3f71b761af2f76c0d7ceff5c2c7f09a"> 2183</a></span>   <a class="code" href="namespaceclang.html#ac25c19be513bebdca2ed5f8ea0599ff3" title="The default, if any, capture method for a lambda expression.">LambdaCaptureDefault</a> <a class="code" href="structclang_1_1LambdaIntroducer.html#af3f71b761af2f76c0d7ceff5c2c7f09a">Default</a>;</div>
+<div class="line"><a name="l02184"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html#a4aee7bfde4846a549bb9e67687ae7703"> 2184</a></span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<LambdaCapture, 4></a> <a class="code" href="structclang_1_1LambdaIntroducer.html#a4aee7bfde4846a549bb9e67687ae7703">Captures</a>;</div>
+<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> </div>
+<div class="line"><a name="l02186"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html#afe9769ae870749857927043817a3c0e6"> 2186</a></span>   <a class="code" href="structclang_1_1LambdaIntroducer.html#afe9769ae870749857927043817a3c0e6">LambdaIntroducer</a>()</div>
+<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>     : <a class="code" href="structclang_1_1LambdaIntroducer.html#af3f71b761af2f76c0d7ceff5c2c7f09a">Default</a>(<a class="code" href="namespaceclang.html#ac25c19be513bebdca2ed5f8ea0599ff3a8249dec2223359130b30d15c3930097c">LCD_None</a>) {}</div>
+<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> <span class="comment"></span></div>
+<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="comment">  /// \brief Append a capture in a lambda introducer.</span></div>
+<div class="line"><a name="l02190"></a><span class="lineno"><a class="code" href="structclang_1_1LambdaIntroducer.html#a13be55f9c84b0c8abacf82f686b7b07f"> 2190</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="structclang_1_1LambdaIntroducer.html#a13be55f9c84b0c8abacf82f686b7b07f" title="Append a capture in a lambda introducer.">addCapture</a>(<a class="code" href="namespaceclang.html#a4302d73c34f84f339015be4a88d5645e" title="The different capture forms in a lambda introducer.">LambdaCaptureKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>,</div>
+<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>                   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>                   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>* Id,</div>
+<div class="line"><a name="l02193"></a><span class="lineno"> 2193</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> EllipsisLoc,</div>
+<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>                   <a class="code" href="classclang_1_1ActionResult.html">ExprResult</a> Init, </div>
+<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>                   <a class="code" href="classclang_1_1OpaquePtr.html">ParsedType</a> InitCaptureType) {</div>
+<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>     <a class="code" href="structclang_1_1LambdaIntroducer.html#a4aee7bfde4846a549bb9e67687ae7703">Captures</a>.push_back(<a class="code" href="structclang_1_1LambdaCapture.html" title="An individual capture in a lambda introducer.">LambdaCapture</a>(Kind, Loc, Id, EllipsisLoc, Init, </div>
+<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>         InitCaptureType));</div>
+<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>   }</div>
+<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> };</div>
+<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> </div>
+<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> </div>
+<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:32 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