1! { dg-do run }
2! Test that the mask is properly converted to the kind type of j in ibits.
3program ibits_test
4  implicit none
5  integer(8), parameter :: n = z'00000000FFFFFFFF' ! { dg-warning "BOZ literal at .1. outside a DATA statement" }
6  integer(8) i,j,k,m
7  j = 1
8  do i=1,70
9     j = ishft(j,1) + 1
10     k = ibits(j, 0, 32)
11     m = iand(j,n)
12     if (k /= m) call abort
13  end do
14end program ibits_test
15
16