flang-new
to flang
During the review process, add the following fields as needed:
The current status of the driver for Flang is that it is named flang-new
, and requires specifying the (undocumented) flag -flang-experimental-exec
in order for it to produce an executable. It is proposed to change this such that flang-new -flang-experimental-exec
can be used as just flang
.
For background, prior discussions on the topic can be found in a recent Discourse thread, an older Discourse thread, and a patch submitted nearly a year ago. A new patch has also been submitted, but has received no reviews or comments yet.
The motivation is that there are interested parties who would like to start trying out flang to see what it’s capabilities might be so far with respect to their codes. Thus far status updates for the project have not been particularly well publicized, have been relatively vague, and generally unclear, meaning the most direct assessment would come from just trying it. The current status means that they must either apply the proposed patch themselves or clearly explain to their users how to actually use it. These artificial barriers to use are exclusionary, are preventing the project from getting useful early feedback, are turning potential contributors away and giving potential new users a bad impression and poor experience.
A patch has been submitted to make the necessary change. The patch renames the driver from flang-new
to flang
, and removes the requirement for the flag -flang-experimental-exec
to proceed with generating an executable. Doing this as a single step means that existing users will need to change anything relying on the current name and flag only once, and the sooner the change is made the fewer people will be impacted (we have fewer users now than there will be later).
This should have no impact on other LLVM projects, and will mean that any existing users of flang will finally be able to use it in the way it has always been expected and will be expected to be used going forward.
Discussions have addressed this concern as likely unfounded, and actually that there is potential it could actually encourage contributions from new users and drive engagement with a new community. Also, the current state is already giving potential new users a bad experience, so if such an experience was going to turn someone away forever, it likely already has.
A team has offered to respond to new issues and serve as liaisons to the flang user community.
Wait longer: The argument is that it is not ready for real users, and making this change could imply unrealistic expectations for new users.
Do this in phases, or as build options: The idea here would be that we gradually make it easier for more “advanced” users to try things out, so as not to overwhelm the current developers with feedback from new users all at once.
Neither of these alternatives would be ideal, as previously explained.