OSDN Git Service

* config/i386/i386.md (UNSPEC_VSIBADDR): New.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / use_13.f90
1 ! { dg-do run }
2 !
3 ! PR fortran/44360
4 !
5 ! Test-case based on a contribution of Vittorio Zecca.
6 !
7 ! The used subroutine was not the use-associated but the host associated one!
8 ! The use-associated function/variable were already working properly.
9 !
10 module m
11   integer :: var = 43
12 contains
13  integer function fun()
14    fun = 42
15  end function fun
16  subroutine fun2()
17    var = 44
18  end subroutine fun2
19 end module m
20
21 module m2
22   integer :: var = -2
23 contains
24  subroutine test()
25    ! All procedures/variables below refer to the ones in module "m"
26    ! and not to the siblings in this module "m2".
27    use m 
28    if (fun() /= 42) call abort()
29    if (var /= 43) call abort()
30    call fun2()
31    if (var /= 44) call abort()
32  end subroutine test
33  integer function fun()
34    call abort()
35    fun = -3
36  end function fun
37  subroutine fun2()
38    call abort()
39  end subroutine fun2
40 end module m2
41
42 use m2
43 call test()
44 end
45 ! { dg-final { cleanup-modules "m m2" } }