我的问题:
I have a package of old *.for files. They are compiled and linked ok when using CVF.
However, if I compiled them in IVF, there are errors:
error #7983: The storage extent of the dummy argument exceeds that of the actual argument. [UU]
error #7983: The storage extent of the dummy argument exceeds that of the actual argument. [AA]
How to solve this problem?
解决:
CVF likely would have told you about this if you built with /debug, or put all the sources in one file. It would not make your program run incorrectly, as long as the subroutine doesn't use data beyond the extent of the actual argument. In fact, if you are using it like an assumed-size array (dimension(*)), the compiler generated code might be the same, and you could turn off the checking, as you did in CVF. If you want to correct the code and make it f77 compatible, assumed-size, or explicit variable bound, are your choices. Module or internal (CONTAINS) subroutines are the most often recommended choices.具体方法:
'Check routine interfaces'(in properties>fortran>diagnostics)
No comments:
Post a Comment