diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/module_interface_2.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/module_interface_2.f90 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/module_interface_2.f90 b/gcc/testsuite/gfortran.dg/module_interface_2.f90 new file mode 100644 index 000000000..1f9fde81e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/module_interface_2.f90 @@ -0,0 +1,31 @@ +! { dg-do compile } +! Tests the fix for PR29464, in which the second USE of the generic +! interface caused an error. +! +! Contributed by Vivek Rao <vivekrao4@yahoo.com> +! +module foo_mod + implicit none + interface twice + module procedure twice_real + end interface twice +contains + real function twice_real(x) + real :: x + twice_real = 2*x + end function twice_real +end module foo_mod + + subroutine foobar () + use foo_mod, only: twice, twice + print *, twice (99.0) + end subroutine foobar + + program xfoo + use foo_mod, only: two => twice, dbl => twice + implicit none + call foobar () + print *, two (2.3) + print *, dbl (2.3) +end program xfoo +! { dg-final { cleanup-modules "foo_mod" } } |