<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Attached updated source code.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 11, 2019 at 2:03 PM Aditya Atluri <<a href="mailto:adityaavinash1@gmail.com">adityaavinash1@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Hi,</div><div class="gmail_default" style="font-family:tahoma,sans-serif">On a second note, the code builds fine; but when I run the program it exits without any output. I added my own FunctionDecl visitor to MyRecursiveASTVisitor. I am guessing the code I am missing can be something to do with headers and methods which are tagged `XX` as prefix or suffix like, DeclXX.h or StmtXX.h or so.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 11, 2019 at 1:59 PM Aditya Atluri <<a href="mailto:adityaavinash1@gmail.com" target="_blank">adityaavinash1@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Great! The post helped me figure out the right sequence of syntax to use.</div><div class="gmail_default" style="font-family:tahoma,sans-serif">Here is how I figured it out. </div><div class="gmail_default" style="font-family:tahoma,sans-serif">greped for LangOptions on clang/FrontEnd headers, found that CompilerInvocation takes LangOptions as an argument in one of its methods; CompilerInstance has a method to get its own instance of CompilerInvocation.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 11, 2019 at 1:26 PM Keane, Erich via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_6880069343091582755gmail-m_-5138782984679250637gmail-m_-8468080005812937690WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><a href="https://stackoverflow.com/questions/38356485/how-do-i-put-clang-into-c-mode" target="_blank">https://stackoverflow.com/questions/38356485/how-do-i-put-clang-into-c-mode</a><u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_6880069343091582755_m_-5138782984679250637_m_-8468080005812937690__MailEndCompose"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><a name="m_6880069343091582755_m_-5138782984679250637_m_-8468080005812937690______replyseparator"></a><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Aditya Atluri [mailto:<a href="mailto:adityaavinash1@gmail.com" target="_blank">adityaavinash1@gmail.com</a>]
<br>
<b>Sent:</b> Friday, January 11, 2019 11:09 AM<br>
<b>To:</b> Keane, Erich <<a href="mailto:erich.keane@intel.com" target="_blank">erich.keane@intel.com</a>><br>
<b>Cc:</b> Clang Dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
<b>Subject:</b> Re: [cfe-dev] Fwd: [LibTooling] Unable to parse cpp code when using libtooling feature<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">Hi Keane,<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">Exactly my thoughts. But, how to do it?<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></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" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">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><u></u><u></u></p>
<p class="MsoNormal"><a name="m_6880069343091582755_m_-5138782984679250637_m_-8468080005812937690_m_-935037018428394354__MailEndCompose"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></a><u></u><u></u></p>
<p class="MsoNormal"><a name="m_6880069343091582755_m_-5138782984679250637_m_-8468080005812937690_m_-935037018428394354______replyseparato"></a><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;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><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">Hi,</span><u></u><u></u></p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">I am a novice developer hacking around ways to use clang for parsing C/CPP code.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><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><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif"> </span><u></u><u></u></p>
</div>
<div>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">$ ./Main </span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">test.cpp:1:1: error: unknown type name 'template'</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">template<typename T></span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">^</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">test.cpp:1:9: error: expected identifier or '('</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">template<typename T></span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">        ^</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">test.cpp:6:19: error: expected expression</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">    float c = add<float>(a, b);</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">                  ^</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">test.cpp:6:15: error: use of undeclared identifier 'add'</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">    float c = add<float>(a, b);</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt;background-color:rgb(38,44,53);font-stretch:normal">
<span style="font-size:8.5pt;font-family:Monaco,serif;color:rgb(235,235,235)">              ^</span><u></u><u></u></p>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif"> </span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif"> </span><u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><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><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">Please let me know if I am doing anything bad or missing something.</span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">The Makefile assumes that clang is installed in ~/llvm80</span><u></u><u></u></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></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><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:Tahoma,sans-serif">- Aditya Atluri</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<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" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_6880069343091582755gmail-m_-5138782984679250637gmail_signature"><div dir="ltr"><div><div><span style="font-family:tahoma,sans-serif">- Aditya Atluri</span><br></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_6880069343091582755gmail_signature"><div dir="ltr"><div><div><span style="font-family:tahoma,sans-serif">- Aditya Atluri</span><br></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div><span style="font-family:tahoma,sans-serif">- Aditya Atluri</span><br></div></div></div></div>