aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/unsigned_7.f90
blob: 703c8abcbf7903fb36a7c7c0d47f9a376f27391e (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
! { dg-do run }
! { dg-options "-funsigned" }
! Test bit functions, huge and digits.
  unsigned :: u1, u2, u3
  u1 = 32u
  u2 = 64u
  if (ior (u1,u2) /= u1 + u2) error stop 1
  if (ior (32u,64u) /= 32u + 64u) error stop 2
  u1 = 234u
  u2 = 221u
  if (iand (u1,u2) /= 200u) error stop 3
  if (iand (234u,221u) /= 200u) error stop 4
  if (ieor (u1,u2) /= 55u) error stop 5
  if (ieor (234u,221u) /= 55u) error stop 6
  u1 = huge(u1)
  if (u1 /= 4294967295u) error stop 7
  u2 = not(0u)
  u3 = u2 - u1
  if (u3 /= 0u) error stop 8
  u2 = not(255u);
  if (u2 /= huge(u2) - 255u) error stop 9
  u1 = 255u
  u2 = not(u1)
  if (u2 /= huge(u2) - 255u) error stop 9
  if (digits(u1) /= 32) error stop 10
end