FORTRAN 17.0.-1695 can generate a 6415 naming error in the presence of IMPLICIT NONE, depending on the order of the dummy arguments and type declarations. The attachment provides an example. RISK has HMAX, an intended INTEGER, as one of its indexes. If the declaration of HMAX appears in the interface block before RISK, even if it is after RISK in the argument list, no error is generated. However, if HMAX follows RISK in the interface block, the 6415 duplicate declaration error is generated, even in the presence of IMPLICIT NONE. My personal hypothesis is that HMAX is being implicitly defined as REAL (rather than "undefined") in the latter case, causing the type conflict when the INTEGER HMAX is encountered.
↧