19 lines
517 B
Fortran
19 lines
517 B
Fortran
|
! { dg-do run }
|
||
|
! { dg-options "-std=gnu -w" }
|
||
|
! { dg-additional-sources lrshift_1.c }
|
||
|
program test_rshift_lshift
|
||
|
implicit none
|
||
|
integer :: i(15), j, n
|
||
|
integer, external :: c_lshift, c_rshift
|
||
|
|
||
|
i = (/ -huge(i), -huge(i)/2, -129, -128, -127, -2, -1, 0, &
|
||
|
1, 2, 127, 128, 129, huge(i)/2, huge(i) /)
|
||
|
|
||
|
do n = 1, size(i)
|
||
|
do j = -30, 30
|
||
|
if (lshift(i(n),j) /= c_lshift(i(n),j)) call abort
|
||
|
if (rshift(i(n),j) /= c_rshift(i(n),j)) call abort
|
||
|
end do
|
||
|
end do
|
||
|
end program test_rshift_lshift
|