I have a problem that has started happening in the new v8.61 which did not happen in v8.50. In fact, this problem only happens in v8.61 DEBUG compiles (FTN95/windows/FULL_DEBUG/UNDEF/BINARY). The behavior is part of a large complex program not easy to put into a small test program.
I have a subroutine call with seven arguments: one INTENT(INOUT) and six INTENT(OUT) arguments. When running in the Silverfrost debugger, I get 'Error 15, Attempt to access undefined argument to routine' on the line that calls the subroutine.
1st attempt to fix is to pre-define the arguments - even though that shouldn't be necessary for INTENT(OUT) arguments - but this made no difference. Still get the error.
2nd attempt was to omit the declarations of intent in the subroutine. This was done out of desperation, but it did result in a change: Now Error 15 is thrown on the first executable line of the subroutine instead of on the call statement. In other words, now instead of dying before entering the sub, I can enter the subroutine and die immediately.
The problem is that I can't understand why I'm crashing on the first line. If the signature of my subroutine was: MySub(x1_inout, x2_out, x3_out, x4_out, x5_out, x6_out, x7_out)
then the first line of the subroutine is x5_out = .false.
so I'm getting an 'undefined argument' error when trying to assign a value to the argument!
Any advice or suggestions on what may be causing the problem and what can be done to fix it? This behavior makes it tempting to go back to the previous version of the compiler!
Thanks in advance.