As the Fortran language evolves, it is only natural that the functionality of some older features are better handled by newer features geared toward today's programming needs. At the same time, the considerable investment in legacy Fortran code suggests that it would be insensitive to customer needs to decommit any Fortran 90 or FORTRAN 77 features at this time. For this reason, XL Fortran is fully upward compatible with the Fortran 90 and FORTRAN 77 standards. Fortran 95 has removed features that were part of both the Fortran 90 and FORTRAN 77 language standards. However, functionality has not been removed from Fortran 95 as efficient alternatives to the features deleted do exist.
Fortran 95 defines two categories of outmoded features: deleted features and obsolescent features. Deleted features are Fortran 90 or FORTRAN 77 features that are considered to be largely unused and so are not supported in Fortan 95.
Obsolescent features are FORTRAN 77 features that are still frequently used today but whose use can be better delivered by newer features and methods. Although obsolescent features are, by definition, supported in the Fortran 95 standard, some of them may be marked as deleted in the next Fortran standard. Although a processor may still support deleted features as extensions to the language, you may want to take steps now to modify your existing code to use better methods.
Fortran 90 indicates the following FORTRAN 77 features are obsolescent:
Recommended method: Use the logical IF statement, IF construct, or CASE construct.
Recommended method: Use variables and expression of type integer.
Recommended method: Use the READ statement.
Recommended method: Evaluate a return code in a CASE construct or a computed GO TO statement on return from the procedure.
! FORTRAN 77 CALL SUB(A,B,C,*10,*20,*30) ! Fortran 90 CALL SUB(A,B,C,RET_CODE) SELECT CASE (RET_CODE) CASE (1) · CASE (2) · CASE (3) · END SELECT
Recommended method: Use internal procedures.
Recommended method: Branch to the statement that follows the END IF statement.
Recommended method: Use an END DO or CONTINUE statement to terminate each loop.
Recommended method: Use the character constant edit descriptor.
Fortran 95 indicates the following FORTRAN 77 features as obsolescent:
Recommended method: Use the logical IF statement, IF construct, or CASE construct.
Recommended method: Evaluate a return code in a CASE construct or a computed GO TO statement on return from the procedure.
! FORTRAN 77 CALL SUB(A,B,C,*10,*20,*30) ! Fortran 90 CALL SUB(A,B,C,RET_CODE) SELECT CASE (RET_CODE) CASE (1) · CASE (2) · CASE (3) · END SELECT
Recommended method: Use an END DO or CONTINUE statement to terminate each loop.