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.
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.
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 |