Behavior on integer overflow (The GNU Fortran Compiler) (original) (raw)


4.11 Behavior on integer overflow

Integer overflow is prohibited by the Fortran standard. The behavior of gfortran on integer overflow is undefined by default. Traditional code, like linear congruential pseudo-random number generators in old programs that rely on specific, nonstandard behavior may generate unexpected results. The -fsanitize=undefined option can be used to detect such code at runtime.

It is recommended to use the intrinsic subroutine RANDOM_NUMBERfor random number generators or, if the old behavior is desired, to use the -fwrapv option. Note that this option can impact performance.