We probably should separate Rewrite into "Rewrite" and "RewriteFrontend", or 
something like that.  There's the core rewriter data structures, and the 
frontend action.

On Aug 31, 2012, at 4:17 PM, Chandler Carruth <[email protected]> wrote:

> Turns out there is still a cycle.
> 
> lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp includes 
> include/clang/Rewrite/Rewriter.h
> 
> Several of the files in lib/Rewrite include include/clang/Frontend stuff, so 
> we have:
> 
> StaticAnalyzerFrontend -> Frontend -> StaticAnalyzerCore -> Rewrite -> 
> Frontend.
> 
> I see a lot of different ways to fix this, any preferences?
> 
> 
> 
> On Thu, Aug 30, 2012 at 3:20 PM, Chandler Carruth <[email protected]> 
> wrote:
> On Thu, Aug 30, 2012 at 3:02 PM, Ted Kremenek <[email protected]> wrote:
> On Aug 30, 2012, at 2:50 PM, Ted Kremenek <[email protected]> wrote:
> 
>> On Aug 30, 2012, at 2:29 PM, Chandler Carruth <[email protected]> wrote:
>> 
>>> Yea, the only problem is that the SA/Frontend library depends heavily on 
>>> the Frontend library. We build all of the SA into a single library, but we 
>>> probably shouldn't. Because we do that, when we check the library-level 
>>> include layering, we find a cycle.
>> 
>> I'm not certain why the SA/Frontend library was created in the first place.  
>> Originally the Frontend library depended on the StaticAnalyzer, and there 
>> was no cycle.  Conceptually SA/Frontend is more part of the Frontend then 
>> the static analyzer, and that's how it was actually implemented at one 
>> point.  At some point it seemed reasonable to move the static analyzer 
>> specific parts of the Frontend into SA/Frontend out of the core Frontend 
>> library.  This over-refactoring is what has led to this confusion.
>> 
>>> 
>>> Here is one question perhaps, which of the 3 SA sub-libraries should this 
>>> header belong to?
>>> 
>> 
>> Probably StaticAnalyzerCore.
>> 
> 
> My unproductive vitriol aside, would it help for me to create a 4th (leafy) 
> library to include this leaf header?  It's not completely silly, and would 
> hopefully resolve this structuring issue.
> 
> Nope, I'm quite happy putting this in the core sublibrary. =] 
> 
> 

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to