blob: 5ff7cdb4bb4b9529e879f968a5ce113eff5c02c0 [file] [log] [blame]
program main
implicit none
integer :: i1, i2, i3, i4, i5, i6, i7
integer :: j
do i1=1,10
call sub1 ! { dg-error "Index variable 'i1' redefined" }
end do
do i2=1,10
call sub2 ! { dg-error "Index variable 'i2' redefined" }
end do
do i3=1,10
j = fcn3() ! { dg-error "Index variable 'i3' redefined" }
end do
do i4=1,10
j = fcn4() ! { dg-error "Index variable 'i4' redefined" }
end do
do i5=1,10
call sub5 ! { dg-error "Index variable 'i5' set to undefined" }
end do
call sub6
do i7=1,10
call sub7 ! { dg-error "Index variable 'i7' not definable" }
end do
contains
subroutine sub1
i1 = 5 ! { dg-error "Index variable 'i1' redefined" }
end subroutine sub1
subroutine sub2
do i2=1,5 ! { dg-error "Index variable 'i2' redefined" }
end do
end subroutine sub2
integer function fcn3()
i3 = 1 ! { dg-error "Index variable 'i3' redefined" }
fcn3 = i3
end function fcn3
integer function fcn4()
open (10,file="foo.dat", iostat=i4) ! { dg-error "Index variable 'i4' redefined" }
fcn4 = 12
end function fcn4
subroutine sub5
integer :: k
k = intentout(i5) ! { dg-error "Index variable 'i5' set to undefined" }
end subroutine sub5
subroutine sub6
do i6=1,10
call sub6a ! { dg-error "Index variable 'i6' redefined" }
end do
end subroutine sub6
subroutine sub6a
i6 = 5 ! { dg-error "Index variable 'i6' redefined" }
end subroutine sub6a
subroutine sub7
integer :: k
k = intentinout (i7) ! { dg-error "Index variable 'i7' not definable" }
end subroutine sub7
integer function intentout(i)
integer, intent(out) :: i
end function intentout
integer function intentinout(i)
integer, intent(inout) :: i
end function intentinout
end program main
module foo
integer :: j1
contains
subroutine mod_sub_1
do j1=1,10
call aux ! { dg-error "Index variable 'j1' redefined" }
end do
end subroutine mod_sub_1
subroutine aux
j1 = 3 ! { dg-error "Index variable 'j1' redefined" }
end subroutine aux
end module foo