summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/contained_1.f90
blob: 05216b2285a96e305ac283e52c56578e79879813 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
! PR15986
! Siblings may be used as actual arguments, in which case they look like
! variables during parsing.  Also checks that actual variables aren't replaced
! by siblings with the same name
! { dg-do run }
module contained_1_mod
integer i
contains
subroutine a
  integer :: c = 42
  call sub(b, c)
end subroutine a
subroutine b()
  i = i + 1
end subroutine b
subroutine c
end subroutine
end module

subroutine sub (proc, var)
  external proc1
  integer var

  if (var .ne. 42) call abort
  call proc
end subroutine

program contained_1
  use contained_1_mod
  i = 0
  call a
  if (i .ne. 1) call abort
end program

! { dg-final { cleanup-modules "contained_1_mod" } }