/sys$common/syshlp/helplib.hlb PASCAL, /PSECT_MODEL=[NO]MULTILANGUAGE D=/PSECT_MODEL=NOMULTILANGUAGE *Conan The Librarian (sorry for the slow response - running on an old VAX) |
OpenVMS Alpha only Controls whether the compiler pads the size of overlaid PSECTs so as to ensure compatibility when the PSECT is shared by code created by other OpenVMS compilers. When a PSECT generated with a [COMMON] attribute is overlaid with a PSECT consisting of a C struct or a Fortran COMMON block, linker error messages may result due to the inconsistent sizes of the PSECTs, some languages pad the size of PSECTs while others do not. Compiling /PSECT_MODEL=MULTILANGUAGE ensures that Compaq Pascal will follow a consistent PSECT size allocation scheme that works with C and Fortran PSECTs that are shared across multiple images. PSECTs shared in a single image do not have a problem. The corollary switch for the C compiler is /PSECT_MODEL=[NO]MULTILANGUAGE, the corollary switch for the Fortran compiler is /ALIGNMENT=COMMON=[NO]MULTILANGUAGE. The default behavior of Compaq Pascal is /PSECT_MODEL=NOMULTILANGUAGE which is the behavior of previous releases of Compaq Pascal and is sufficient for most applications.
|