blob: f6207abd562b50f703c022b9cea82bc87352b648 [file] [log] [blame]
! { dg-do run }
! { dg-options "-funsigned" }
program memain
implicit none
unsigned(1) i1,j1
unsigned(2) i2,j2
unsigned(4) i4,j4
unsigned(8) i8,j8
integer ibits,n
ibits=bit_size(1u_1)
do n=1,ibits
i1=huge(i1)
call mvbits(1u_1, 0,n,i1,0)
j1=uint(-1-2_1**n+2)
if(i1.ne.j1) error stop 1
enddo
ibits=bit_size(1u_2)
do n=1,ibits
i2=huge(i2)
call mvbits(1u_2, 0,n,i2,0)
j2=uint(-1-2_2**n+2)
if(i2.ne.j2) error stop 2
enddo
ibits=bit_size(1u_4)
do n=1,ibits
i4=huge(i4)
call mvbits(1u_4, 0,n,i4,0)
j4=uint(-1-2_4**n+2)
if(i4.ne.j4) error stop 3
enddo
ibits=bit_size(1_8)
do n=1,ibits
i8=huge(i8)
call mvbits(1u_8, 0,n,i8,0)
j8=uint(-1-2_8**n+2,8)
if(i8.ne.j8) error stop 4
enddo
end program memain