<br><br><div class="gmail_quote">On Fri, May 4, 2012 at 7:14 PM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.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="im"><br>
On May 4, 2012, at 4:27 AM, Hal Finkel wrote:<br>
<br>
>><br>
>> FWIW, I don't think that this makes sense from a community standpoint.<br>
>><br>
>> If you're serious about building a fortran frontend (which would be<br>
>> really really cool).  I think we should start it as another LLVM<br>
>> subproject.  It can certainly build off and use the Clang "liblex" to<br>
>> get the preprocessor etc, and taking changes to support Fortran into<br>
>> the clang tree would be perfectly fine.<br>
><br>
> Alright cool, let's do that then. Based on the feedback I've received,<br>
> it seems like it makes the most sense to add Fortran support directly<br>
> into the driver and lexer, and keep everything else as a separate<br>
> subproject. This subproject will have its own Parser, Sema, AST,<br>
> CodeGen, etc. subdirectories.<br>
<br>
</div>Sounds good to me.<br>
<div class="im"><br>
> If we set this up kind of like clang is<br>
> setup, then the build system will detect whether there is a fortran<br>
> subdirectory in clang, and if so, will build (defining<br>
> CLANG_HAS_FORTRAN or something like that) and link the extra components.<br>
<br>
</div>Should "flang" (please come up with a better name! :) be in llvm/tools/flang or in llvm/tools/clang/flang?  I think that the former makes more sense.  These are peer projects, even if one is dependent on the other.<br>

<span class="HOEnZb"><font color="#888888"><br>
-Chris</font></span><br></blockquote></div><br><br>One minor nit: I can certainly understand reusing the lexer/preprocessor if it is nearly identical and the tooling mechanism just added by Manuel because it's a great infrastructure, however on the other hand I am not sure about the driver itself...<br>
<br>I don't know Fortran, so perhaps it's obvious to you Hal, but I wonder if perhaps it would make sense to produce a different binary, with its own set of flags ?<br><br>-- Matthieu<br>