Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / gfortran.dg / do_check_7.f90
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
23
24   subroutine s_inout(i_arg)
25     integer, intent(inout) :: i_arg
26   end subroutine s_inout
27
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
33
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
39
40 end program main