The constructs enabled via
LOGICALas dictated by context (typically implies nonportable dependencies on how a particular implementation encodes
The above constructs are disabled by default because use of them tends to lead to non-portable code. Even existing Fortran code that uses that often turns out to be non-portable, if not outright buggy.
Some of this is due to differences among implementations as
far as how
.FALSE. are encoded as
INTEGER values--Fortran code that assumes a particular
coding is likely to use one of the above constructs, and is
also likely to not work correctly on implementations using
See Equivalence Versus Equality, for more information.