GSOC 2025 @Fortran-lang
by Jinang Shah
May 16 – May 23, 2025
Welcome to the first blog post of my GSoC 2025 journey! This summer, I’m working with the Fortran-lang organization to compile Fortran Package Manager (FPM) with the LFortran compiler. The project aims to enable full FPM builds using LFortran by resolving parsing, semantic, and compilation issues. FPM has some code dependencies which needs to be compiled with LFortran. The first step is to compile the toml-f library, which is a TOML parser written in Fortran. This week, I focused to compile toml-f with LFortran.
Work done in this week:
I have created a local branch with workarounds: Branch with Workarounds
Some of the workarounds include:
BinOp
inside a string reference covered with a ArrayConstructor
was causing error. But doing this workaround, we can compile the code with LFortran. However, we need to fix this so I have created a minimal reproducible example (MRE) for this issue.
Workaround: LFortran MRE: Refer Issue 7277
BinOp
(of types A + B(:), where A is scalar and B is array) as a function argument generates an error. I did below workaround and created MRE for this and move forward.
Workaround: LFortran MRE: Refer Issue 7297
Workaround: LFortran MRE: Refer Issue 7278
MREs created: MREs for toml-f
I would like to sincerely thank Ondřej Čertík and Pranav Goswami for their continuous guidance and support. Also I would like to thank LFortran team members who fixed some MREs I posted which makes a speedy progress.
Plan for next week:
Classes
and Structs
in LFortran, so many MREs are related to classes and I will try to fix them as these are the issues which are hard to workaround.
Some Issues regarding classes: Issue 7249 , Issue 7250 , Issue 7253