<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:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
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="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><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..<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"> cfe-dev [mailto:cfe-dev-bounces@lists.llvm.org]
<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> cfe-dev@lists.llvm.org<br>
<b>Subject:</b> [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,<o:p></o:p></span></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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif"><o:p> </o:p></span></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:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">$ ./Main <o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:1:1: error: unknown type name 'template'<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">template<typename T><o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">^<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:1:9: error: expected identifier or '('<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">template<typename T><o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB"> ^<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:6:19: error: expected expression<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB"> float c = add<float>(a, b);<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB"> ^<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB">test.cpp:6:15: error: use of undeclared identifier 'add'<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB"> float c = add<float>(a, b);<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;background:#262C35;font-stretch:normal">
<span style="font-size:8.5pt;font-family:"Monaco",serif;color:#EBEBEB"> ^<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif"><o:p> </o:p></span></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)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif"><o:p> </o:p></span></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.<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma",sans-serif">The Makefile assumes that clang is installed in ~/llvm80<o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>