<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:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Monaco;
        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:12.0pt;
        font-family:"Times New Roman",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
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.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"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">https://stackoverflow.com/questions/38356485/how-do-i-put-clang-into-c-mode<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></a></p>
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Aditya Atluri [mailto:adityaavinash1@gmail.com]
<br>
<b>Sent:</b> Friday, January 11, 2019 11:09 AM<br>
<b>To:</b> Keane, Erich <erich.keane@intel.com><br>
<b>Cc:</b> Clang Dev <cfe-dev@lists.llvm.org><br>
<b>Subject:</b> Re: [cfe-dev] Fwd: [LibTooling] Unable to parse cpp code when using libtooling feature<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif">Hi Keane,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif">Exactly my thoughts. But, how to do it?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, Jan 11, 2019 at 1:05 PM Keane, Erich via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</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"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Those are typical of attempting to compile C++ code as C.  I’m not sure what the right way to set the
 LangOpts on CompilerInstance in libclang is, but you likely need to update those to set LangOpts correctly for the version of C++ you intend to support..</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a name="m_-935037018428394354__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a name="m_-935037018428394354______replyseparato"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">
 cfe-dev [mailto:<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.llvm.org</a>]
<b>On Behalf Of </b>Aditya Atluri via cfe-dev<br>
<b>Sent:</b> Friday, January 11, 2019 11:02 AM<br>
<b>To:</b> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<b>Subject:</b> [cfe-dev] Fwd: [LibTooling] Unable to parse cpp code when using libtooling feature</span><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>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif">Hi,</span><o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif">I am a novice developer hacking around ways to use clang for parsing C/CPP code.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif">I am able to parse C code with clangs libtooling feature properly. But, when I use the code to parse CPP test code, I am getting the
 following error:</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">$ ./Main </span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:1:1: error: unknown type name 'template'</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">template<typename T></span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">^</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:1:9: error: expected identifier or '('</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">template<typename T></span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">        ^</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:6:19: error: expected expression</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">    float c = add<float>(a, b);</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">                  ^</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:6:15: error: use of undeclared identifier 'add'</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">    float c = add<float>(a, b);</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal;background-position:initial initial;background-repeat:initial initial">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">              ^</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif">Attached: Main.mk (to build test), Main.cpp (Clang 8.0 based libtooling source), test.cpp (test case)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif">Please let me know if I am doing anything bad or missing something.</span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Tahoma",sans-serif">The Makefile assumes that clang is installed in ~/llvm80</span><o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif">- Aditya Atluri</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>