<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Roboto;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Like I said in my previous email, the type “int” is ASTContext::IntTy<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Eli<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> Monalisa Rout <monalisa33.rout@gmail.com> <br>
<b>Sent:</b> Friday, August 16, 2019 1:57 AM<br>
<b>To:</b> Eli Friedman <efriedma@quicinc.com>; cfe-dev@lists.llvm.org<br>
<b>Subject:</b> [EXT] Re: QualType<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hello Eli,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I am able to crate QualType for all types of pointers by using
<span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222">ASTContext::getPointerType()</span>. But again I am stuggling for
<b>const int</b>.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I am trying to use this method <a href="http://swtv.kaist.ac.kr/~bookman01/classclang_1_1ASTContext.html#a5930b71a916bc5b4eea3b69160ef6810"><b><span style="font-size:10.5pt;font-family:"Roboto",serif;color:#3D578C;text-decoration:none">ASTContext</span></b></a><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222">::<a href="http://swtv.kaist.ac.kr/~bookman01/classclang_1_1ASTContext.html#a17e4f89e87ad7a5a29c5333b478a384e"><b><span style="font-size:10.5pt;font-family:"Roboto",serif;color:#3D578C;text-decoration:none">GetBuiltinType</span></b></a></span><span style="font-size:10.5pt;font-family:"Roboto",serif;color:black;background:#F9FAFC">
 (</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222"><a href="http://swtv.kaist.ac.kr/~bookman01/classunsigned.html"><b><span style="font-size:10.5pt;font-family:"Roboto",serif;color:#3D578C;text-decoration:none">unsigned</span></b></a></span><span style="font-size:10.5pt;font-family:"Roboto",serif;color:black;background:#F9FAFC">
 ID, </span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222"><a href="http://swtv.kaist.ac.kr/~bookman01/classclang_1_1ASTContext.html#aebda31ac75861bbfdb20ad6c54a2dc50"><b><span style="font-size:10.5pt;font-family:"Roboto",serif;color:#3D578C;text-decoration:none">GetBuiltinTypeError</span></b></a></span><span style="font-size:10.5pt;font-family:"Roboto",serif;color:black;background:#F9FAFC">
 &</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222"><a href="http://swtv.kaist.ac.kr/~bookman01/namespaceclang.html#a19a831d7318de60497404ddf66dde9d4a902b0d55fddef6f8d651fe1035b7d4bd"><b><span style="font-size:10.5pt;font-family:"Roboto",serif;color:#3D578C;text-decoration:none">Error</span></b></a>),
 but not sure if this is the method needs to be used and if so what is the ID value for "int".</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222">Once I get QualType, I can call the
<a href="https://clang.llvm.org/doxygen/classclang_1_1QualType.html#a43a8b5d4a9d63c319ad978252426379a">
<b><span style="font-size:10.5pt;font-family:"Roboto",serif;color:#3D578C">addConst</span></b></a></span><span style="font-size:10.5pt;font-family:"Roboto",serif;color:black;background:#F9FAFC"> () to get const type qualifier.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Roboto",serif;color:black;background:#F9FAFC">Regards,</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Roboto",serif;color:black;background:#F9FAFC">Mona</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#222222"> </span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Aug 15, 2019 at 8:58 PM Eli Friedman <<a href="mailto:efriedma@quicinc.com">efriedma@quicinc.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Usually the cfe-dev mailing list is better for questions like this.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The type “int” is ASTContext::IntTy.  You can use QualType::withConst to add a “const” qualifier, and ASTContext::getPointerType to construct a pointer type.  Putting that together,
 you can construct a “const int*” with something like “Context->getPointerType(Context->IntTy.withConst())”.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">If you haven’t looked at the documentation yet, you might want to read
<a href="https://clang.llvm.org/docs/IntroductionToTheClangAST.html" target="_blank">
https://clang.llvm.org/docs/IntroductionToTheClangAST.html</a> and <a href="https://clang.llvm.org/docs/InternalsManual.html" target="_blank">
https://clang.llvm.org/docs/InternalsManual.html</a> .<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">-Eli<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> cfe-commits <<a href="mailto:cfe-commits-bounces@lists.llvm.org" target="_blank">cfe-commits-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Monalisa Rout via cfe-commits<br>
<b>Sent:</b> Thursday, August 15, 2019 7:03 AM<br>
<b>To:</b> <a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<b>Subject:</b> [EXT] QualType<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hello,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I want to create QualType instances for
<b>const int</b>, <b>int* const</b>,  and <b>const int* const.</b> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">How can I do that??<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Mona<o:p></o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>