[cfe-dev] How to make clang compile the data from the RewriteBuffer

Bogdan Tabacaru bogdan.tabacaru88 at yahoo.com
Sat Aug 9 12:24:15 PDT 2014

Hi Vassil,

Is the patch available for the 3.4.2 version of LLVM or must I migrate to the "current" version ?


On Friday, August 8, 2014 6:16 PM, Vassil Vassilev <vvasilev at cern.ch> wrote:

  There is a pending patch on cfe-commits about this "[PATCH]
      clang/Frontend/MultiplexConsumer.h". With it you could reorder the
      ASTConsumers in clang and get yours before codegen.
On 08/08/14 16:48, Bogdan Tabacaru wrote:

Hi everyone,

I want to create a plugin that makes some changes on the parsed AST and that directly compiles the changes made on the AST. It is important that I do not generate a new file with the changes on the AST.
So, in other words, I want to change the AST in place, and then compile it in the same run, using a Clang Plugin.

I am using llvm 3.4.2.

By following the RecursiveASTVisitor example, I have written a clang plugin which modifies the parsed AST.

I am using the Rewriter class to ReplaceText inside the buffer.

I am also using the -add-plugin command (instead the "standard" -plugin command) when calling the plugin.

The rewriting part works excellently. However, when I continue the compilation, clang only compiles the original file, instead of the original file + changes.
Is there a way to tell clang/llvm to compile what I have written in the AST (using the Rewriter) without creating an intermediate file?

Thanks a lot for your help,

cfe-dev mailing list cfe-dev at cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140809/961b686a/attachment.html>

More information about the cfe-dev mailing list