I am extraordinarily pleased to announce a new release of my refactoring source-to-source compiler for FORTRAN 77! So happy!
@wim_v12e Thank you so much! I saw that you played around with the Nek test case we discussed earlier this year. I should try it out :)
Hi Ashwin, the compiler can now handle Nek but not completely, because the Nek-code is not type safe.
The problematic bits are in mpi_dummy.f90, where an integer is passed to a double, and the compiler throws an error.
I could fix this by casting but usually when people do this kind of thing it is a mistake. So maybe I will add some "ALLOW_UNSAFE_CAST" option, when I have time again.
Also, you'll need the new -I option to inline all includes.
@ashwinvis No, not the nesting, I handle that. It is that some includes depend on values or declarations defined outside of them. Typically in the lines before the include statement.
@ashwinvis For example, in SIZE, the include SIZE.inc is at the end of the file and depends on parameters in SIZE. It is not possible to convert this into a module.
The solution would be quite simple: include SIZE at the top of SIZE.inc instead.
Another example is TOTAL which is included usually as
and the declarations in TOTAL depend on those in SIZE.
Again, that could be solved by including SIZE at the top of total instead.
@wim_v12e I see your point. Includes at the end of a code is a weird way of structuring declarations.
@ashwinvis It makes sense for a purely textual inclusion, but it is not modular.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!