Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/generic_9.f90 @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { 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 "is not a module procedure" } 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