FTNCHEK Version 3.3 November 2004 File pointer_alloc.f90: 1 ! Example of allocating and using an array via a pointer 2 3 program pointer_alloc 4 real, pointer, dimension(:, :) :: A 5 integer :: M, N 6 integer :: alloc_err, dealloc_err 7 8 read *, M, N 9 allocate ( A(M, N) , stat=alloc_err) 10 if( alloc_err /= 0 ) then 11 print *, "Error allocating real array of size", & 12 M, "x", N 13 else 14 read *, A 15 print *, A 16 deallocate (A, stat = dealloc_err) 17 if( dealloc_err /= 0 ) then 18 print *, "Error deallocating array" 19 else 20 print *, "Array deallocated" 21 end if 22 end if 23 24 if( associated(A) ) then 25 print *, "Pointer is still associated" 26 nullify(A) 27 end if 28 end program pointer_alloc Module POINTER_ALLOC: prog External subprograms referenced: ASSOCIATED: intrns Variables: Name Type Dims Name Type Dims Name Type Dims Name Type Dims A real 2 ALLOC_ERR intg DEALLOC_ERR intg M intg N intg Warning in module POINTER_ALLOC: Variables used before set ALLOC_ERR used at line 10; never set DEALLOC_ERR used at line 17; never set I/O Operations: Unit ID Unit No. Access Form Operation Line * SEQ FMTD PRINT 11 15 18 20 25 * SEQ FMTD READ 8 14 0 syntax errors detected in file pointer_alloc.f90 1 warning issued in file pointer_alloc.f90