2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / nosigned_zero_1.f90
blob51ac87945ce62ab1c7158d44e7ee4fb3f9081467
1 ! { dg-do run }
3 ! PR fortran/40675
5 ! Fortran 77 just had: "The value of a signed zero is the same as
6 ! the value of an unsigned zero." and g77 returned for SIGN(1.0, -0.0) = 1.0
8 ! Fortran 95+ has for SIGN: "Case (iv): If B is of type real and is zero,
9 ! then ... (c) If B is negative real zero, the value of the result is -|A|".
10 ! On architectures, where signed zeros are supported, gfortran's SIGN thus
11 ! returns for B=-0.0 the -|A|.
13 program s
14 x = sign(1.,0.)
15 y = sign(1.,-0.)
16 if (x /= 1.) call abort()
17 if (y /= -1.) call abort()
18 x = 1.
19 y = 0.
20 x = sign(x, y)
21 y = sign(x, -y)
22 if (x /= 1.) call abort()
23 if (y /= -1.) call abort()
24 end program s