I've got a huge lib in F77, which contains around 1000 subroutines. My plan was to check the interfaces to avoid unpredictable behaviour. So far so good. After turning on /warn:interfaces I get a lot of errors of the following kind:
The call of the subroutine says:
real :: r1test ! this is a scalar ! ... call d0dummy(r1test)
The parameter in the subroutine is defined as:
subroutine d0dummy(r1test) real::r1test(*) ! this is a assumed shape array
error #8284: If the actual argument is scalar, the dummy argument shall be scalar unless the actual argument is of type character or is an element of an array that is not assumed shape, pointer, or polymorphic.
I know the best way would be to write interfaces or to put the routines into modules to get rid of the implicit interfaces. But this will take a lot of time I will not spend currently (something for dark cold winter days with nothing to do than playing around with old FORTRAN libs). However, if I deactivate the interface warning I get no runtime errors nor the intel inspector delivers memory leaks.
How is the warning/error ment? Can memory errors be caused by this implicit interface?