Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fortran 2018 implementation status #1058

Open
h-vetinari opened this issue Mar 10, 2020 · 9 comments
Open

Fortran 2018 implementation status #1058

h-vetinari opened this issue Mar 10, 2020 · 9 comments

Comments

@h-vetinari
Copy link

I'm wondering what's the state of the Fortran 2018 implementation (very high-level tracking like gcc's status page). Maybe such a tracker already exists, but is not public? Maybe - as the name suggests 😉 - it's already (almost) finished?

I haven't found such an overview except some more granular projects under the flang-compiler organisation, a mention of "References are to the 12-2017 draft of the Fortran 2018" in the documentation, and the following quote from the flang roadmap [my bold]:

We believe that starting in 2020, F18 will replace the current Flang as a complete implementation of Fortran 2018.

Note that flang has such a status page for Fortran 2008. If f18 does not yet fully support that, my question (about implementation status) extends to 2008 as well.

Presumably, such a status overview would also be useful after merging into LLVM (cf. their C++ page).

@eugeneswalker
Copy link

I'm also interested in this!

@kiranchandramohan
Copy link
Collaborator

kiranchandramohan commented Mar 30, 2020

Various parts of the compiler are in different stages of completion. A horizontal implementation approach was chosen, hence it will not be possible to provide a status page for Fortran 2018. But the implementation is based on the Fortran 2018 standard.

The following status is based on my observation as a member of the Flang/F18 community. Someone else might be able to provide a better answer.

Parsing for Fortran 2018 and OpenMP 4.5 : Complete
Semantic checks : Nearing completion
High level IR (FIR) : In progress. Uses MLIR. Lowering from parse tree to FIR should land soon.
Runtime (math) : Will use the pgmath library available with current Flang project
Runtime (I/O) : In progress
Runtime (memory) : Started
Runtime (Rest) : Not started

@h-vetinari
Copy link
Author

@kiranchandramohan: Various parts of the compiler are in different stages of completion. A horizontal implementation approach was chosen, hence it will not be possible to provide a status page for Fortran 2018. But the implementation is based on the Fortran 2018 standard.

Thanks for the answer. I don't understand what you mean with the above. Horizontal or not, either a given feature is either done or not...? And from the list of features (or changes) from F2008 to F2018, one could record what's still open (or partially done / WIP / etc.).

But OK, maybe it's too early in the process to have a list like that, and all the bits and pieces need to move into place first.

@kiranchandramohan
Copy link
Collaborator

At the moment everything is a work in progress since there is no FIR/LLVM codegen in the master branch. So we can only mark all features as in progress.
Yes, you are right that it is a bit early to have a list like that.

@eugeneswalker
Copy link

I had heard the plan was to get f18 merged into llvm by end-of-April. Is this incorrect? Is there a target date for this?

@kiranchandramohan
Copy link
Collaborator

I believe it is mostly ready for the llvm merge. The date will hopefully be fixed during the Flang/F18 community call on Monday.
If you are interested, the call details are below. Copied from Gary's biweekly minutes.
"Hal Finkel hosts this call on Bluejeans, Mondays 8:30 Pacific Time, on the weeks alternating with regular Flang biweekly call. The notes for all these calls can be found in Google Docs here.
Meeting URL: https://bluejeans.com/625064848?src=join_info
Meeting ID: 625 064 848
Want to dial in from a phone? Dial one of the following numbers:
+1.408.317.9254 (US (San Jose))
+1.866.226.4650 (US Toll Free)
(see all numbers - https://www.bluejeans.com/premium-numbers)
Enter the meeting ID and passcode followed by #"

@eugeneswalker
Copy link

@kiranchandramohan Are the google docs you mention above available online somewhere for public access? I am interested in the status of f18 driver.

@kiranchandramohan
Copy link
Collaborator

Google docs can be accessed with the following link.
https://docs.google.com/document/d/1Z2U5UAtJ-Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit#heading=h.vpxs8lkuxy79

@eugeneswalker You can find the latest discussion in the following review.
https://reviews.llvm.org/D79092

@h-vetinari can you close this issue if you are happy with the answer provided before?

@h-vetinari
Copy link
Author

@kiranchandramohan
I understand that the project might not be ready to create such an overview of the F2018-compatibility yet, but I don't think that this means that this issue should automatically be closed? This is more a longterm goal - to track implementation status relative to the most current standard (even after F2018)...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants