[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="structc