http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51569

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org

--- Comment #3 from kargl at gcc dot gnu.org 2011-12-29 17:55:09 UTC ---
(In reply to comment #2)
> -0.0 does not exist in Fortran except when using the IEEE module IIRC.

Nope.  The IEEE module is not necessary.  Negative zero falls into
the wonderful world of processor-dependent behavior.

Fortran 2003, 1.6.1:

(3) If the processor can distinguish between positive and negative
    real zero, this standard requires different returned values for
    ATAN2(Y,X) when X < 0 and Y is negative real zero and for LOG(X)
    and SQRT(X) when X is complex with REAL(X) < 0 and negative zero
    imaginary part.

Fortran 2003, 1.6.3:

(5) If the processor can distinguish between positive and negative
    real zero, the behavior of the SIGN intrinsic function when the
    second argument is negative real zero is changed by this
    standard.

Fortran 2003, 4.4.2:

The real type includes a zero value.  Processors that distinguish
between positive and negative zeros shall treat them as equivalent
    (1)  in all relational operations,
    (2)  as actual arguments to intrinsic procedures other than
         those for which it is explicitly specified that negative
         zero is distinguished, and
    (3)  as the scalar-numeric-expr in an arithmetic IF.

I've read gfortan's description for SIGN(), and IMHO, there is
nothing to change.

Reply via email to