Welcome back! This week marked a major step in my GSOC project with the successful full compilation of
toml-f, fortran-shlex, and fortran-regex using
LFortran with few workarounds.
My primary focus was creating targeted MREs and fixing remaining issues related to character handling, struct types, and polymorphic variables in
toml-f.
Work done in this week:
-
MREs and Fixes for toml-f Compilation:
- Created minimal reproducible examples (MREs) for several edge cases (ASR to LLVM) involving class types, optional parameters, and intrinsic procedures.
- Reported detailed issues and submitted corresponding fixes upstream in LFortran repo.
- These changes ensured 100% compilation success for toml-f with LFortran with few workarounds (tests still pending).
- Sample Issues:
- #7644: Handle class variable passed into subroutine call as nested subroutine var
- #7650: Handle StructConstructor inside a derived type
- #7679: Handle default StructConstructor call when customized constructors are defined
- #7648: Handle class instance member in deallocate properly
- Sample PRs:
- #7632: Support allocatable structType variable assignmen
- #7661: Handle load of class and struct member in deallocate
- #7634: Handle class pointer passed/returned in function
- #7669: Handle nested StructInstanceMember in deallocate
-
FPM Dependency Status:
- toml-f: 100% compilation achieved. Workaround branch: tomlf-lf-1.
- fortran-shlex: Fully compiles. Workaround branch: shlex-lf-1.
- fortran-regex: Successfully builds.
- MCLI2 and jonquil are compiling partially.
This week I worked for around 18–20 hours, primarily focused on eliminating few set of blockers and getting all three core dependencies to compile with few workarounds.
We’re now in a good position to shift attention toward compiling MCLI2, jonquil and eventually FPM that depend on these.
Huge thanks to
Ondřej Čertík
and
Pranav Goswami
for their constant reviews, guidance, and suggestions throughout this week. Also thanks to all LFortran members who had helped me in my project.
Plan for next week:
- I had discussion with my mentors and we decided to use breadth-first strategy and try to compile whole FPM first to LLVM and then we will test all dependencies and FPM itself. So I will Begin compilation of MCLI2 and jonquil as per discussion with my mentors.
- Goal will be similar like I did for toml-f - Generate MREs and fix them to ensure LFortran compile code completely (Maybe with few workarounds).