1! { dg-do run } 2! PR33317 CSHIFT/EOSHIFT: Rejects optional dummy for DIM= 3! Test case submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> 4program test 5 implicit none 6 call sub(bound=.false., dimmy=1_8) 7 call sub() 8contains 9 subroutine sub(bound, dimmy) 10 integer(kind=8), optional :: dimmy 11 logical, optional :: bound 12 logical :: lotto(4) 13 character(20) :: testbuf 14 lotto = .false. 15 lotto = cshift((/.true.,.false.,.true.,.false./),1,dim=dimmy) 16 write(testbuf,*) lotto 17 if (trim(testbuf).ne." F T F T") STOP 1 18 lotto = .false. 19 lotto = eoshift((/.true.,.true.,.true.,.true./),1,boundary=bound,dim=dimmy) 20 lotto = eoshift(lotto,1,dim=dimmy) 21 write(testbuf,*) lotto 22 if (trim(testbuf).ne." T T F F") STOP 2 23 end subroutine 24end program test