The subroutine I am uploading has an anomaly I can't explain.
Around line 61 there is a PRINT statement for the array QU(0:NQU)
It does not print the array, just the opening character string.
I checked with the debugger, and the value NQU is just as it should be, a positive number.
furthermore the other arrays DO print out as desired -
using the same Format statement.
So I am wondering - what is special about that array that would trigger this problem?
BTW, I have a special reason for dimensioning the arrays the way I do,
starting with 0 as the first element, but I am wondering if that "fools" the compiler.
I tried taking the array QU out of the calling sequence, but that had NO effect.
链接已复制
The only Fortran source files in your zip archive are the *genmod.f90 files generated by the compiler. There is not a single original source file in the zip from which those interface checking files could be generated.
List the names of your original Fortran source files, and we can check.
OK, here it is again -
I think some of the files were attached to a project in another folder.\
This one should have 7 source files in it.
You can see where I printed the number NQU, but the array QU does not print.
Thats around line 53 of the routine IDIV.
QU(0:NQU) should print out NQU+1
quantities, right?
I also tried ( QU(KK),kk=0,NQU )
but got the same result.
The option /check:format appears to catch some mismatches between format descriptors and I/O list elements.
[fortran]program tfmt
integer :: i = 90 ! 'Z'
character(len=1) :: cz = 'Z'
!
write(*,'(1x,A5)')i !no error
write(*,'(1x,I8)')cz !flagged
!
end program tfmt[/fortran]
