Rename `flang-new` as `flang`


As discussed in the community call yesterday, I’d like rename flang-new as flang. With flang-new being more wide used and upstreaming nearing completion, the timing for this seems right.

I propose to rename flang as flang-to-gfortran and to keep flang-new as a symlink pointing to flang-<MAJOR_VERSION> (e.g. flang-15) for the time being.

There were no objections in the call yesterday, so I went ahead and prepared a patch for this: ⚙ D125788 [flang][driver] Rename `flang-new` as `flang`. Please reivew! :slight_smile:

Thanks for all the help!


This is just a quick update.

The bash wrapper script has been renamed as flang-to-external-fc. This was committed in 2 steps to allow a smooth transition for the buildbots that use it. The final patch is here: ⚙ D127094 [flang][driver] Remove references to the `flang` bash script.

As for flang-new, please visit ⚙ D125788 [flang][driver] Rename `flang-new` as `flang` for the discussion. Tl;Dr I suggested that we resume the discussion in our community calls.

flang-new is nearly 114MiB statically linked on x86-64. I think it still has lots of clang in it. Somebody was going to refactor the command line processing code so that flang-new didn’t have to include clang. Has that already been done?

Indeed, flang-new is linked with some components of Clang that are not required and that’s sub-optimal. To fix this, one would have to move clangDriver out of Clang. For that, some refactoring of Clang’s diagnostics API would be required. We paused that work and focused on adding new features in flang-new instead.

For refactoring Clang’s diagnostics, it would really help if we could get support from somebody actively working in that area. Interestingly, there’s a proposal to Improve Clang’s diagnostics. Once a detailed plan for implementation is available, I will try to bring our case up with @cjdb. But I wouldn’t want to commit to anything just yet.

I think that being able to talk about “improving flang” instead of “improving flang-new” would really help when discussing these changes with e.g. Clang developers. For that, we’d need to rename flang-new as flang Otherwise, it looks like we are suggesting major changes in Clang for the sake of “some driver in Flang” (as opposed to “the driver”).

+1 to not forget to decouple flang-new from clang as much as possible. I know this was set as a later priority but we should probably bump it a bit higher otherwise it will never be done.

This requires decoupling clangDriver from Clang. For that, it’d be incredibly helpful and beneficial to collaborate with somebody from Clang. But we’ve just had over 2 years of no F2F meetings and I haven’t really had the chance to chat with anyone about this. In any case, we need more than one person actively working on this and I still haven’t heard from any volunteers :slight_smile: Please let me know if you want to work on this together!

In the meantime, I’d appreciate if we could conclude the discussion on renaming flang-new as flang. This would certainly simplify any proposals involving other sub-projects.