I'm finding the documentation on the -falias and -ffnalias rather unclear.
The standard prohibits aliasing of a dummy argument which is modified either to another dummy argument or to a module or common variable. According to the manual "-falias" to quote
"assumes aliasing". Does this mean that it assumes aliasing which does conform to the standard (for example the same array passed to two distinct INTENT(IN) arguments) or that the compiler can not assume the rules of the standard are followed by the program. And since the default is ON does this mean that the compiler is under-optimising standard-compliant programs by default?
In other words, is it (a) safe and (b) likely to improve performance by specifying -fno-alias on a standard-conforming program?
Finally, am I correct in guessing that -ffnalias refers to subroutine dummy arguments only but that -falias also includes aliasing by pointers?