Paul,
While testing ALLOCATE I have come up with a few small bugs.
When I converted the program I posted on 29 Sep to a subroutine, I found that the arrays I allocated via the pointer array ' integer*4, pointer, dimension(: ) :: ii ' ( which works by de-linking the allocated arrays) are not automatically de-allocated when exiting the subroutine. Is this a bug or is it caused by the non-standard use of the pointer re-allocation ? It would be good if all allocated arrays were released when exiting the subroutine.
The following program exhibits 2 problems with integer8 overflow; one with calculation of 2**32 and the other using I8 variable 'i8' as an array subscript. ! Program to test I8 problems in FTN95 ! integer8 block(0:3), i8 ! block = 0 i8 = 2 block(1) = 232 ! 232 is evaluated as 0 ; 2_432 may work block(i8) = i832 ! address i8 is evaluated as 0 write (,*) block ! should be 0 232 232 0 end ! but is 2^32 0 0 0
block(i8) being interpreted as block(0), is a bit of a problem, which may be due to the array subscript being truncated to I*4.
- I am using FILES8@ on XP-64 and it does not correctly size files bigger than 4gb. It also doesn't work on Win-32. It would appear that FILES8@ is an extension for correctly giving the size of files between 2gb and 4gb.
None of these are critical, but they are clear in identifying the problem.
John