5

For routines declared extern fortran or external fortran, the changes in the calling sequence are as follows:

For value parameters, the compiler creates a copy of the actual argument value in the caller’s environment and passes a pointer to the temporary variable on the stack. Thus, you need not create (otherwise useless) temporary variables.

The compiler appends an underscore to the name of the external procedure to conform to a naming convention of the f77(1) compiler. Pascal procedure names called from FORTRAN must supply their own trailing underscore (_).

Multidimensional Pascal arrays are not compatible with FORTRAN arrays. Because FORTRAN uses column-major ordering, a multidimensional Pascal array passed to FORTRAN appears transposed.

For routines declared extern c or external c, a warning is generated if you attempt to pass a nested function.

When you compile your program with the –xloption, you can also use nonpascal to declare non-Pascal routines when porting DOMAIN programs written in DOMAIN Pascal, FORTRAN, and C.

88

Pascal 4.0 User’s Guide