PR ipa/83051
[official-gcc.git] / gcc / testsuite / gfortran.dg / do_check_7.f90
blob964872256883da75040116e32bfd564abf53de7c
1 ! { dg-do compile }
2 ! PR 30146 - warn about DO variables as argument to INTENT(IN) and
3 ! INTENT(INOUT) dummy arguments
4 program main
5 implicit none
6 integer :: i,j, k, l
7 do k=1,2 ! { dg-error "undefined value" }
8 do i=1,10 ! { dg-error "definable" }
9 do j=1,10 ! { dg-error "undefined value" }
10 do l=1,10 ! { dg-error "definable" }
11 call s_out(k) ! { dg-error "undefined" }
12 call s_inout(i) ! { dg-error "definable" }
13 print *,f_out(j) ! { dg-error "undefined" }
14 print *,f_inout(l) ! { dg-error "definable" }
15 end do
16 end do
17 end do
18 end do
19 contains
20 subroutine s_out(i_arg)
21 integer, intent(out) :: i_arg
22 end subroutine s_out
24 subroutine s_inout(i_arg)
25 integer, intent(inout) :: i_arg
26 end subroutine s_inout
28 function f_out(i_arg)
29 integer, intent(out) :: i_arg
30 integer :: f_out
31 f_out = i_arg
32 end function f_out
34 function f_inout(i_arg)
35 integer, intent(inout) :: i_arg
36 integer :: f_inout
37 f_inout = i_arg
38 end function f_inout
40 end program main