[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