OK, fair question :lol:
Because - like Klaus, as far as I can tell - I am under the impression that any variable, simply declared in a module, is only required to retain its value, per the standard and without taking further declarative steps, in other program units which USE that module.
In other words, when a module M passes control to another program unit N, X is only required to retain its value if N USEs M. If, therefore, N is the main program, X is required to retain its value throughout execution, wherever control may pass to in the meantime.
(Technical FORTRAN meaning of USE, not shouting, in the above).
I believe that Klaus believes the same thing, and claims on occasion to have observed this requirement being violated by FTN95.
I acknowledge that real compilers may choose not to exercize the freedom to throw variable values away in this fashion (what others are terming 'behaving as one would expect'), but I was under the impression that they were at liberty to. I do not believe, however that this is germane to what is troubling Klaus.
If he is correct in what he claims on occasion to have observed, then either his (and my) understanding of the requirement is incorrect, or FTN95 is not implementing the requirement completely correctly.
I believe he is seeking adjudication one way or the other.