[flang-dev] RFC: new Flang driver - next steps
Andrzej Warzynski via flang-dev
flang-dev at lists.llvm.org
Fri Jul 31 07:09:23 PDT 2020
We have been busy prototyping the new Flang driver  and investigating
how to best re-use the goodness already available in Clang . Earlier
today we've sent a refined design of the Flang driver to cfe-dev .
That RFC focuses on what changes are required in Clang in order for us
to be able to share that infrastructure without Flang depending on
Clang. In this email we would like to discuss the next steps for the new
Flang driver from the perspective of Flang.
If the Clang community finds our design feasible and is happy with the
refactoring that we proposed, we will start working on that immediately.
We are also keen to get early feedback from the Flang community and
would like to start upstreaming our prototype driver  into Flang at
the same time. This would inform the refactoring of Clang and guarantee
that the integration goes smoothly. We also feel that this would allow
us to parallelize the implementation a bit better.
The main drawback of this approach is that we need to introduce a
dependency on Clang in the interim. We propose the following _temporary_
workaround for this:
* the new Flang driver will be guarded with a CMake flag (i.e. it will
only be build conditionally)
* the same CMake flag will guard any Clang dependencies (i.e. by default
Flang will not depend on Clang)
* we will set-up a dedicated build-bot for the new Flang driver to avoid
and to catch early any breakage
Once the refactoring in Clang is complete, this workaround can be
removed. The former boils down to making libclangDriver independent of
Clang and moving it out of Clang (please see  for more details) and
looks much less involved than we originally thought.
Your feedback is much appreciated.
Last, but not least, we'll need some help reviewing the patches as they
come back to master. If anyone is interested in helping here please
On behalf of the Arm Fortran Team
More information about the flang-dev