Ondřej Čertík
Ondřej Čertík
Latest main (04078bd3e4354fd8f36992804c2c082e332cf062), convert snap program to a module, compiling using `time make FORTRAN=lfortran FFLAGS= MPI=no OPENMP=no snap_main.o`, we get 0.345s.
`lfortran=0.40.0` conda package on Surface 5 Laptop, compiling main as module: ```diff --- a/src/snap_main.f90 +++ b/src/snap_main.f90 @@ -1,4 +1,8 @@ -PROGRAM snap_main +module snap_main + +contains + +subroutine main() !-----------------------------------------------------------------------...
Maybe we can start testing it with valid codes, such as: ```fortran program expr2 integer :: x integer :: abc, abcdef x = (2+3)*abc print *, x end program ```...
You should always first convert "filename + line + column" into just one location index. Only use this index (`pos`) for computation --- so just walk over every node, and:...
@Pranavchiku what should the ASR be instead? Let's fix this issue and document this in our documentation.
Yes, both `x(1:*)` and `x(*)` should be `UnboundedPointerDataArray`.
@Pranavchiku do you think you could please submit a PR documenting the above in our documentation?
It fails in ASR->ASR passes, so the initial ASR is constructed for the full program and it passes our verify check. Then later we have some bugs in the passes,...
@Pranavchiku thanks for investigating this!
The transfer bug is https://github.com/lfortran/lfortran/issues/2875. The fix for it is at https://github.com/lfortran/lfortran/pull/2876.