URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [generic_9.f90] - Rev 154
Compare with Previous | Blame | View Log
! { dg-do compile }
! Test the patch for PR29992. The standard requires that a
! module procedure be contained in the same scope as the
! interface or is use associated to it(12.3.2.1).
!
! Contributed by Daniel Franke <franke.daniel@gmail.com>
!
MODULE class_foo_type
TYPE :: foo
INTEGER :: dummy
END TYPE
contains
SUBROUTINE bar_init_set_int(this, value)
TYPE(foo), INTENT(out) :: this
integer, intent(in) :: value
this%dummy = value
END SUBROUTINE
END MODULE
MODULE class_foo
USE class_foo_type, ONLY: foo, bar_init_set_int
INTERFACE foo_init
MODULE PROCEDURE foo_init_default ! { dg-error "does not come from a module" }
END INTERFACE
INTERFACE bar_init
MODULE PROCEDURE bar_init_default, bar_init_set_int ! These are OK
END INTERFACE
INTERFACE
SUBROUTINE foo_init_default(this)
USE class_foo_type, ONLY: foo
TYPE(foo), INTENT(out) :: this
END SUBROUTINE
END INTERFACE
contains
SUBROUTINE bar_init_default(this)
TYPE(foo), INTENT(out) :: this
this%dummy = 42
END SUBROUTINE
END MODULE
! { dg-final { cleanup-modules "class_foo_type class_foo" } }