2014-07-12 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / nosigned_zero_2.f90
blobaf05574ed3e5e1a8e3a1df9f17988f39ee4c6473
1 ! { dg-do run }
2 ! { dg-options "-fno-sign-zero" }
4 ! PR fortran/40675
6 ! Fortran 77 just had: "The value of a signed zero is the same as
7 ! the value of an unsigned zero." and g77 returned for SIGN(1.0, -0.0) = 1.0
9 ! Fortran 95+ has for SIGN: "Case (iv): If B is of type real and is zero,
10 ! then ... (c) If B is negative real zero, the value of the result is -|A|".
11 ! On architectures, where signed zeros are supported, gfortran's SIGN thus
12 ! returns for B=-0.0 the -|A|.
14 program s
15 x = sign(1.,0.)
16 y = sign(1.,-0.)
17 if (x /= 1.) call abort()
18 if (y /= 1.) call abort()
19 x = 1.
20 y = 0.
21 x = sign(x, y)
22 y = sign(x, -y)
23 if (x /= 1.) call abort()
24 if (y /= 1.) call abort()
25 end program s