Hello,
checkmate seems to overlook full-array assignments to not-allocated arrays. There's no problem with assigning only a single element (or a range) which is correctly claimed as invalid operation when using checkmate.
Sample:
program alloc
integer, allocatable, dimension(:) :: array
array = 0
print*, 'Should not reach this.'
end program alloc
Compile with
ftn95 /checkmate alloc.f90 /link and it just runs (which is wrong).
Compile it with
ftn95 alloc.f90 /link and it will throw an access violation when running the app (this is basically correct as the unallocated array is a zero reference).
Is this expected to behave like that (why)?
Thanks.