[PROPOSAL] Rename `flang-new` to `flang`

  • What is your evaluation of the proposal? What positive or negative
    implications would accepting this have?

Do it immediately. flang-new resembles an amateur form version control and not consistent with a serious software project like LLVM. There should be one driver (like clang) and a compiler flag to change its behavior.

I withdraw my support for this proposal, because it has been proven to confuse users into believing that flang-new has reached production readiness. I had expected that the type of people who would be engaged with LLVM Fortran at the level required to install it from the source tree would know better. I was wrong.

  • Do you have experience from other communities that relates to this
    issue and is important to consider?

I’ve been an NWChem developer for 17 years and have supported a large number of compilers over the years in our bespoke build system. One thing is absolutely true: reasoning about the behavior of a compiler based on its name is foolish and error-prone. Compiler behavior must be inferred from the results of $(FC) -v or similar.

I confess that in the past, I argued against changing the name because of NWChem, but that’s because I am lazy and didn’t want some NWChem developer to have add the 5-10 lines of GNU Make code required to detect the behavior of LLVM Fortran front-ends properly. However, developer laziness is not a serious technical argument and I am disappointed in myself for ever have done this.

  • How involved have you been in the LLVM project? Frequent contributor,
    occasional contributor, user of LLVM libraries, user of LLVM-based tools,
    or other?

I’ve been tangentially involved in the LLVM Fortran project since I was brainstorming ideas with Hal Finkel in an Argonne conference room more than a decade ago. I have used and supported PGI-based flang compilers in NWChem and other open-source projects. I am an infrequent user of “new” flang. For all of my usage, I am only interested in using the “pure” version, and not the version that uses gfortran etc. for code generation.

  • Self Evaluation: How much effort did you put into your review and how
    knowledgeable are you about this area? For example, a quick reading or an
    in-depth study?

I read this entire thread and the proposal, albeit with less attention to detail than I put into my most recent employment contract. I put about 10 minutes into writing this review. I have been thinking about this exact topic for years, so it was not particularly strenuous on my brain to comment.

I read this proposal, then spent an entire day discussing it with a number of people privately, after which point I was very much uncertain about what the right thing to do was, despite having originally been quite confident. What caused me to reverse my stance was seeing an actual user response to seeing this proposal, which validated Steve’s concerns exactly.

3 Likes