<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><blockquote><div>Otherwise, you can write out the modified files in whatever way you want.<br></div>
</blockquote><div> </div>
<div>I
 cannot find any way to do that, nor the RefactoringTool, nor the 
Rewriter classes seem to expose any functionality at all to write the modified files anywhere else. How should I go about this (without modifying clang itself)?<br></div>
<div> </div>
<blockquote><div>Usually what people want to do is to write the diffs / changes out, instead of the modified files, in that case...<br></div>
</blockquote><div> </div>
<div>I need to specifically write out the modified files.<br></div>
<div> </div>
<blockquote><div>Do you need to instrument the /source code/ in particular?<br></div>
</blockquote><div> </div>
<div>Unfortunately, I do, because I work in an environment where we cannot compile using clang, only GCC. The reasons for this are... interesting, at best, but unfortunately this is what I have to work. I agree with you though, IR-level instrumentation is obviously a much better idea... one that's not feasible in my situation.<br></div>
<div> </div>
<div id="sig19426269"><div class="signature">---<br></div>
<div class="signature">Best regards,<br></div>
<div class="signature"> </div>
<div class="signature">Gábor 'ShdNx' Kozár<br></div>
<div class="signature"><a href="http://gaborkozar.me">http://gaborkozar.me</a><br></div>
<div class="signature"> </div>
</div>
<div> </div>
<div> </div>
<div>On Mon, Mar 16, 2015, at 15:59, David Blaikie wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div> </div>
<div><div> </div>
<div defang_data-gmailquote="yes"><div>On Sat, Mar 14, 2015 at 4:52 AM, Gabor Kozar <span dir="ltr"><<a defang_rel="noreferrer" href="mailto:kozargabor@gmail.com" target="_blank">kozargabor@gmail.com</a>></span> wrote:<br></div>
<blockquote defang_data-gmailquote="yes" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><u></u><br></div>
<div><div>I'm working on a clang tool that instruments source code.<br></div>
</div>
</blockquote><div> </div>
<div>Do you need to instrument the /source code/ in particular? The usual approach with other instrumentation (sanitizers, code coverage, etc) is just to instrument the resulting binary (by instrumenting the LLVM IR generated by the frontend - usually during IR generation in the frontend (Clang, most often)) rather than mutating the source (or generating a mutated copy of the source) & then compiling that.<br></div>
<div> </div>
<div>The refactoring tools are really focussed on the scenario of refactoring - where you actually want to modify the original source. (not that they can't be used for other things, just that they might not be the best tool for the job)<br></div>
<div> </div>
<blockquote defang_data-gmailquote="yes" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>However, I can't seem to find any option to set the output file path, i.e. my tool will always modify the original file, which is not what I want.<br></div>
<div> </div>
<div>Was this a deliberate decision, or am I just missing something?<br></div>
<div> </div>
<div><div>---<br></div>
<div>Best regards,<br></div>
<div> </div>
<div>Gábor 'ShdNx' Kozár<br></div>
<div><a defang_rel="noreferrer" href="http://gaborkozar.me" target="_blank">http://gaborkozar.me</a><br></div>
<div> </div>
</div>
<div> </div>
</div>
<div> </div>
<div>_______________________________________________<br></div>
<div>
cfe-dev mailing list<br></div>
<div> <a defang_rel="noreferrer" href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br></div>
<div> <a defang_rel="noreferrer" href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br></div>
<div> </div>
</blockquote></div>
<div> </div>
</div>
</div>
</blockquote><div> </div>
</body>
</html>