C and Fortran duplicate names

Several external names, shown in column one of Table 1, are identical in C and Fortran. If any of the names is used in an assembler program as an external reference, the C—not the Fortran—entity is obtained. If you wish to obtain the Fortran version, you can instead reassemble using the names shown in column two of Table 1 as a substitute for the C names in column one.

For example, if your assembler program currently references the Fortran ABS function with the instruction:
ABSADDR  DC    V(ABS)
you could instead reassemble it with the instruction:
ABSADDR  DC    V(A#ABS)
to obtain the Fortran function as before. The C versions of the functions might additionally require a different parameter-list format.

As an alternative to changing the conflicting names in an assembler routine and then reassembling, you can relink the existing routine following the procedure explained in Resolving library module name conflicts between Fortran and C.

Table 1. C external names and their analogous Fortran names
C external name Fortran external name
ABS A#ABS
ACOS A#COS
ASIN A#SIN
ATAN A#TAN
ATAN2 A#TAN2
CLOCK CLOCK#
COS C#OS
COSH C#OSH
ERF E#RF
ERFC E#RFC
EXIT EXIT#
EXP E#XP
GAMMA G#AMMA
LOG A#LOG
LOG10 A#LOG1
SIN S#IN
SINH S#INH
SQRT S#QRT
TAN T#AN
TANH T#ANH