The -fugly-complex option enables
use of the
intrinsics with arguments that are
COMPLEX types other than
With -ff90 in effect, these intrinsics return the unconverted real and imaginary parts (respectively) of their argument.
With -fno-f90 in effect, these intrinsics convert
the real and imaginary parts to
REAL(KIND=1), and return
the result of that conversion.
Due to this ambiguity, the GNU Fortran language defines
these constructs as invalid, except in the specific
case where they are entirely and solely passed as an
argument to an invocation of the
is permitted even when `Z' is
and -fno-ugly-complex is in effect, because the
meaning is clear.
g77 enforces this restriction, unless -fugly-complex is specified, in which case the appropriate interpretation is chosen and no diagnostic is issued.
See CMPAMBIG, for information on how to cope with existing
code with unclear expectations of
See RealPart Intrinsic, for information on the
intrinsic, used to extract the real part of a complex expression
See ImagPart Intrinsic, for information on the
intrinsic, used to extract the imaginary part of a complex expression