29 lines
708 B
Fortran
29 lines
708 B
Fortran
|
! { dg-do run }
|
||
|
! PR31306 ICE with implicit character variables
|
||
|
! Test case from PR and prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
module cyclic
|
||
|
implicit none
|
||
|
contains
|
||
|
character(10) function ouch(x,y)
|
||
|
implicit character(len(ouch)) (x)
|
||
|
implicit character(len(x)+1) (y)
|
||
|
intent(in) x,y
|
||
|
integer i
|
||
|
do i = 1, len(ouch)
|
||
|
ouch(i:i) = achar(ieor(iachar(x(i:i)),iachar(y(i:i))))
|
||
|
end do
|
||
|
end function ouch
|
||
|
end module cyclic
|
||
|
|
||
|
program test
|
||
|
use cyclic
|
||
|
implicit none
|
||
|
character(10) astr
|
||
|
integer i
|
||
|
write(astr,'(a)') ouch('YOW! ','jerry ')
|
||
|
if (astr(1:5) /= "3*%SY") STOP 1
|
||
|
do i=6,10
|
||
|
if (astr(i:i) /= achar(0)) STOP 2
|
||
|
end do
|
||
|
end program test
|