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

João Paulo Labegalini de Carvalho via cfe-dev cfe-dev at lists.llvm.org
Fri Jan 11 12:24:27 PST 2019


Aditya,

In the call to setASTConsumer at line 99 should it not make an unique
pointer of MyASTConsumer instead of clang::ASTConsumer?

ci.setASTConsumer(llvm::make_unique<*clang::ASTConsumer*>());

On Fri, Jan 11, 2019 at 6:04 PM Aditya Atluri via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> 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
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>


-- 
João Paulo L. de Carvalho
Computer Science |  IC-UNICAMP | Campinas , SP - Brazil
jaopaulolc at gmail.com
joao.carvalho at ic.unicamp.br
j160924 at dac.unicamp.br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190111/ccaccec4/attachment.html>


More information about the cfe-dev mailing list