VMS Help FORTRAN, /ASSUME, DUMMY_ALIASES *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Controls whether dummy (formal) arguments that share memory locations with other dummy arguments or COMMON block variables affect program results. This option is provided because many important opportunities for optimizing are lost when the compiler is forced to assume that this type of memory sharing occurs in a source program. If DUMMY_ALIASES is specified, program semantics require frequent recomputations on expressions involving dummy arguments or COMMON block variables. It assures correct results but inhibits some vectorization and some scalar optimizations, thus slowing performance. With the default, NODUMMY_ALIASES, program semantics allow optimizations on expressions involving dummy arguments and COMMON block variables. It results in higher performance but can cause programs to fail if they depend on such aliases. It should only be used for source programs that strictly obey FORTRAN-77 rules for overlapping memory references in dummy arguments. If you compile a program containing dummy aliasing with NODUMMY_ALIASES in effect, the run-time behavior of the program will be unpredictable. The run-time behavior will depend on the exact optimizations that are performed. In some cases, normal results will occur; however, in other cases, results will differ because the values used in computations involving the offending aliases will differ.
|