<div dir="ltr"><div>We are really struggling with separating Sema and CodeGen.</div><div><br></div><div>Here are the few dead-end we hit:</div><div><br></div><div>1) We tried to use -emit-ast to get a PCH-like AST, but it seems it does not do template specialization.</div><div>That is, when we feed it again into clang, some of the Sema is still run after CodeGen.</div><div>We stopped there, because we are not sure this can help us.</div><div><br></div><div>2) We tried -traditional-cpp and -no-integrated-cpp which is supposed to forbid clang driver to merge the different stages (it didn't help). I do not know if this was effective, but we didn't see any difference. So maybe it is the same issue as the previous one? We also stopped there, because we use clang -cc1 anyway.</div><div><br></div><div>3) We started looking into ASTConsumer(s) and we are thinking if it is possible to write an ASTConsumer that "forward" the AST to the CodeGen and only implement the HandleTranslationUnit so that it ensure it receive the entire AST before forwarding it. But I guess we need to explore it then run manually each of the CodeGen method? Will it have the same issue about template instantiation?</div><div><br></div><div>We would really appreciate if anybody could shed some light, we don't know that part of the infrastructure.</div><div>Are we even going into the right direction? Is there already an option that does that?</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><b>Alexandre Isoard</b><br></div></div></div>