aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/unsigned_23.f90
blob: f739f143fa7702c529e25778c5ae3d7199608c22 (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
32
33
34
35
36
37
38
39
! { dg-do run }
! { dg-options "-funsigned" }
! Test some functionality for SELECT
program main
  implicit none
  integer :: i
  unsigned :: u
  logical, dimension(-3:3) :: seen
  seen = .false.
  do i=-3,3
     u = uint(i)
     select case(u)
     case (4294967293u)
        if (seen(i)) error stop 1
        seen(i) = .true.
     case (4294967294u)
        if (seen(i)) error stop 2
        seen(i) = .true.
     case (4294967295u)
        if (seen(i)) error stop 3
        seen(i) = .true.
     case (0u)
        if (seen(i)) error stop 4
        seen(i) = .true.
     case (1u)
        if (seen(i)) error stop 5
        seen(i) = .true.
     case (2u)
        if (seen(i)) error stop 6
        seen(i) = .true.
     case (3u)
        if (seen(i)) error stop 7
        seen(i) = .true.        
     case default
        error stop 8
     end select
  end do
  if (any(.not.seen)) error stop 9
end program main