<div class="gmail_quote">On Wed, Mar 28, 2012 at 4:57 PM, Michael Spencer <span dir="ltr"><<a href="mailto:bigcheesegs@gmail.com">bigcheesegs@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Wed, Mar 28, 2012 at 4:37 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:<br>
> On Wed, Mar 28, 2012 at 11:49 AM, Michael J. Spencer <<a href="mailto:bigcheesegs@gmail.com">bigcheesegs@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Move Platform.h to Core as Core depends on Platform.h, and the Platform<br>
>> library depends on Core. This breaks that cycle.<br>
><br>
><br>
> Really? It sounds like it papers over the cycle. I suspect Core should not<br>
> depend on Platform.h if the Platform library depends on Core.<br>
<br>
</div></div>I agree that it's weird. It's used by the Resolver and SymbolTable. I<br>
suppose these should be split out of Core.<br></blockquote><div><br></div><div>I've not looked at all at these interfaces, so I really don't know.</div><div><br></div><div>If this is just a pure Platform interface with no implementation at all, then perhaps it does indeed belong in Core. However, if that's what it is, then I don't entirely understand what the "Platform" library is. Maybe the Platform library is the library providing various different implementations of this interface? If so, I would expect it more to be N libraries, with each named after the particular implementation.</div>
<div><br></div><div>I should probably stop chiming in until I look through the code. I just wanted something more than "move the header" to explain what was going on here, lest we develop the really circular and confusing dependency tangle here that we are stuck with currently in LLVM proper (VMCore vs. Support, Target vs. CodeGen vs. Target/X86).</div>
</div>