Open
Description
Description
fpm doesn't classify correctly the source type of program units without a program-statement, such as:
print *, "Hello World"
end
or
print *, "Hello World"
end program
which are allowed according to the standard.
Currently, parse_f_source
will return FPM_UNIT_SUBPROGRAM
(=4)` for these two cases.
Expected Behaviour
The expected source unit type should be FPM_UNIT_PROGRAM
(=1).
Version of fpm
0.8.1, alpha
Platform and Architecture
MacOS (Intel)
Additional Information
The culprit is the parsing logic, which relies on detecting the program statement at front:
fpm/src/fpm_source_parsing.f90
Lines 335 to 355 in da6d1bf
Instead it should probably rely on the end program statement which is mandatory per the standard. (J3/24-007, 14.1)