[cfe-dev] extending ClangTool libASTUnit saving and loading

Manuel Klimek klimek at google.com
Tue Dec 16 08:24:54 PST 2014


On Tue Dec 16 2014 at 5:12:25 PM mobi phil <mobi at mobiphil.com> wrote:

> Multiple questions:
>> 1. You should already be able to use ASTUnit to save and load ASTs - why
>> do you need integration with ClangTool?
>> 2. What are you trying to do? Why do you want to store the AST?
>>
>
> I need some little detail to be clarified. Did not check, but I assume
> that "clang -emit-ast" is using ASTUnit::Save. Now the main questions:
> -> is this AST fit to reload it and generate code or do any other actions
> that one would do with source code? Well, tried to do for instance
> -> is it possible to load the AST by clang itself to generate code?
>
> I tried this:
> clang  -c Sema.cpp  <bunch of includes, defines>
> #above one compiles and generates Sema.o from clang Sema.cpp without errors
> clang  -emit-ast Sema.cpp  <bunch of includes, defines>
> #this generates Sema.ast without any errors/warnings
> clang -c  Sema.ast
>
> the latest one whatsoever parameters I try to feed there are compilation
> errors. For instance
>
> .../include/llvm/Support/SourceMgr.h:48:10: error: call to deleted
> constructor of 'std::unique_ptr<MemoryBuffer>'
>   struct SrcBuffer {
>
> tried to do lunch an older version of clang with the same ast and get an
> error:
>
> error: PCH file uses an older PCH format that is no longer supported
> error: unable to load PCH file
>
> This makes me thinking that whatsoever similarities or differences there
> are, clang tries to load my ast as PCH and not as AST.
>
> This is the context that generated my original question. Now I see that
> does not make sense to extend the ClangTool.
>
> All this makes me thinking that would be nice to have a way to tell to
> clang infra to l load an AST instead of file to generate code, do static
> analyzis or any other operation.
>
> Or... there is a way to do it?
>

So, why do you want to do that? What's your use case? :)


>
> thanks a lot for
>
> regards
> Mobiphil
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20141216/cc733dc5/attachment.html>


More information about the cfe-dev mailing list