blob: b407ab0652404aaa7351dfecdcb1f8dc5dd4bd67 (
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
36
37
38
39
40
41
42
43
44
45
46
47
|
! { dg-do compile }
! Test of the patch for PR30096, in which gfortran incorrectly.
! compared local with host associated interfaces.
!
! Based on contribution by Harald Anlauf <anlauf@gmx.de>
!
module module1
interface inverse
module procedure A, B
end interface
contains
function A (X) result (Y)
real :: X, Y
Y = 1.0
end function A
function B (X) result (Y)
integer :: X, Y
Y = 3
end function B
end module module1
module module2
interface inverse
module procedure C
end interface
contains
function C (X) result (Y)
real :: X, Y
Y = 2.0
end function C
end module module2
program gfcbug48
use module1, only : inverse
call sub ()
if (inverse(1.0_4) /= 1.0_4) call abort ()
if (inverse(1_4) /= 3_4) call abort ()
contains
subroutine sub ()
use module2, only : inverse
if (inverse(1.0_4) /= 2.0_4) call abort ()
if (inverse(1_4) /= 3_4) call abort ()
end subroutine sub
end program gfcbug48
! { dg-final { cleanup-modules "module1 module2" } }
|