summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_sign.f90
blob: fbc457d917c02afd98a014d677cd7a52ff7449de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
! Program to test SIGN intrinsic
program intrinsic_sign
   implicit none
   integer i, j
   real r, s

   i = 2
   j = 3
   if (sign (i, j) .ne. 2) call abort
   i = 4
   j = -5
   if (sign (i, j) .ne. -4) call abort
   i = -6
   j = 7
   if (sign (i, j) .ne. 6) call abort
   i = -8
   j = -9
   if (sign (i, j) .ne. -8) call abort
   r = 1
   s = 2
   if (sign (r, s) .ne. 1) call abort
   r = 1
   s = -2
   if (sign (r, s) .ne. -1) call abort
   s = 0
   if (sign (r, s) .ne. 1) call abort
   ! Will fail on machines which cannot represent negative zero.
   s = -s ! Negative zero
   if (sign (r, s) .ne. -1) call abort
end program