[cfe-dev] distributed clang patch

Ted Kremenek kremenek at apple.com
Thu Jul 10 10:18:11 PDT 2008

On Jul 10, 2008, at 9:53 AM, Chris Lattner wrote:

>> There is one more requirement if we follow this. Most of
>> ASTConsumers have one output stream or file, but there is
>> StaticAnalysis what is make a couple of HTML files and because
>> distcc static analysis is a big speedup, we must support this
>> astconsumer, so we have to capture its output somehow.
> I would worry about this one later.  I think it would be good to focus
> on distributing the other ASTConsumers before the static analysis one.

I think the solution for the AnalysisConsumer is two steps:

1) Factor out the creation of the HTMLDiagnostics object used for HTML  
rendering out of AnalysisConsumer.  Instead, the ctor for  
AnalysisConsumer takes a PathDiagnosticClient* (which in the regular  
driver is an HTMLDiagnostics object).  I planned on doing this anyway.

2) In the distcc client, instead of creating an HTMLDiagnostics  
object, create a different PathDiagnosticClient object that just  
batches the diagnostics (this doesn't exist yet, but is easy to  
implement).  The distcc client can then send the diagnostics back to  
the original client, and not have to worry about HTML rendering.

There will also probably be some ugly details, but ultimately the  
distcc client shouldn't care how the final analysis results are  
consumed by the end-user.

More information about the cfe-dev mailing list