Removing Fortran conflicting references

For each object or executable program that contains conflicting references that you want resolved to Fortran routines, you must replace the conflicting names with names that are unambiguous, as shown in the examples in this section. Under MVS™, you will use the cataloged procedure AFHWN, or under TSO/E, a CLIST, in conjunction with data set SCEESAMP(AFHWNCH) to effect the name replacement. (For information about cataloged procedure AFHWN, see AFHWN — Resolving name conflicts between C and Fortran.)

You can change one or several modules per step, as you wish. Use one of the following examples, adapting it to your application, as needed.

SCEESAMP(AFHWNCH) must be included immediately preceding each individual executable program whose names are to be changed, as shown in each example. AFHWNCH is a data set containing linkage-editor CHANGE statements to change all conflicting names in the module to which it is applied to names known unambiguously as Fortran routines. For example, CHANGE ABS(A#BS) replaces any reference to ABS, a conflicting name, with a reference to A#BS, the Fortran absolute value routine. A complete list of the conflicting names and their corresponding unambiguous Fortran names can be seen in Table 1.

The modules resulting from this process have had all their conflicting names replaced. Having no name conflicts, they can, at any time, be linked as part of one or more executable programs in an application, for example: When a module has had its conflicting references to CLOCK or EXIT changed, it is no longer usable with the VS FORTRAN Version 2 library.