[cfe-dev] Fwd: [LibTooling] Unable to parse cpp code when using libtooling feature

Aditya Atluri via cfe-dev cfe-dev at lists.llvm.org
Fri Jan 11 12:03:54 PST 2019


Attached updated source code.

On Fri, Jan 11, 2019 at 2:03 PM Aditya Atluri <adityaavinash1 at gmail.com>
wrote:

> Hi,
> 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.
>
>
>
> On Fri, Jan 11, 2019 at 1:59 PM Aditya Atluri <adityaavinash1 at gmail.com>
> wrote:
>
>> Great! The post helped me figure out the right sequence of syntax to use.
>> Here is how I figured it out.
>> 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.
>>
>>
>>
>> On Fri, Jan 11, 2019 at 1:26 PM Keane, Erich via cfe-dev <
>> cfe-dev at lists.llvm.org> wrote:
>>
>>>
>>> https://stackoverflow.com/questions/38356485/how-do-i-put-clang-into-c-mode
>>>
>>>
>>>
>>> *From:* Aditya Atluri [mailto:adityaavinash1 at gmail.com]
>>> *Sent:* Friday, January 11, 2019 11:09 AM
>>> *To:* Keane, Erich <erich.keane at intel.com>
>>> *Cc:* Clang Dev <cfe-dev at lists.llvm.org>
>>> *Subject:* Re: [cfe-dev] Fwd: [LibTooling] Unable to parse cpp code
>>> when using libtooling feature
>>>
>>>
>>>
>>> Hi Keane,
>>>
>>> Exactly my thoughts. But, how to do it?
>>>
>>>
>>>
>>> On Fri, Jan 11, 2019 at 1:05 PM Keane, Erich via cfe-dev <
>>> cfe-dev at lists.llvm.org> wrote:
>>>
>>> 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..
>>>
>>>
>>>
>>> *From:* cfe-dev [mailto:cfe-dev-bounces at lists.llvm.org] *On Behalf Of *Aditya
>>> Atluri via cfe-dev
>>> *Sent:* Friday, January 11, 2019 11:02 AM
>>> *To:* cfe-dev at lists.llvm.org
>>> *Subject:* [cfe-dev] Fwd: [LibTooling] Unable to parse cpp code when
>>> using libtooling feature
>>>
>>>
>>>
>>> Hi,
>>>
>>> I am a novice developer hacking around ways to use clang for parsing
>>> C/CPP code.
>>>
>>>
>>>
>>> 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:
>>>
>>>
>>>
>>> $ ./Main
>>>
>>> test.cpp:1:1: error: unknown type name 'template'
>>>
>>> template<typename T>
>>>
>>> ^
>>>
>>> test.cpp:1:9: error: expected identifier or '('
>>>
>>> template<typename T>
>>>
>>>         ^
>>>
>>> test.cpp:6:19: error: expected expression
>>>
>>>     float c = add<float>(a, b);
>>>
>>>                   ^
>>>
>>> test.cpp:6:15: error: use of undeclared identifier 'add'
>>>
>>>     float c = add<float>(a, b);
>>>
>>>               ^
>>>
>>>
>>>
>>>
>>>
>>> Attached: Main.mk (to build test), Main.cpp (Clang 8.0 based libtooling
>>> source), test.cpp (test case)
>>>
>>>
>>>
>>> Please let me know if I am doing anything bad or missing something.
>>>
>>> The Makefile assumes that clang is installed in ~/llvm80
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>>
>>>
>>>
>>>
>>> --
>>>
>>> - Aditya Atluri
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>>
>>
>>
>> --
>> - Aditya Atluri
>>
>
>
> --
> - Aditya Atluri
>


-- 
- Aditya Atluri
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190111/39d9df6a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Main.cpp
Type: application/octet-stream
Size: 3619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190111/39d9df6a/attachment.obj>


More information about the cfe-dev mailing list