| ! { dg-do compile } |
| ! PR fortran/33646 |
| ! |
| ! |
| |
| module BAR_MODULE |
| implicit none |
| private |
| public create_ |
| interface create_ |
| module procedure create |
| end interface |
| type system_type |
| integer(kind=kind(1)) :: max_memory_used |
| end type |
| |
| contains |
| |
| subroutine create(self) |
| type(system_type) :: self |
| pointer :: self |
| allocate(self) |
| end subroutine |
| |
| end |
| |
| module FOO_MODULE |
| use BAR_MODULE |
| implicit none |
| private |
| public create_ |
| interface create_ |
| module procedure create |
| end interface |
| |
| public create_copy_ |
| interface create_copy_ |
| module procedure create_copy |
| end interface |
| contains |
| |
| subroutine create(self) |
| character(*) :: self |
| pointer :: self |
| nullify(self) |
| allocate(self) |
| |
| self = " " |
| end subroutine |
| |
| subroutine create_copy(self,s) |
| character(*) :: self |
| pointer :: self |
| character(*) :: s |
| call create_(self) |
| end subroutine |
| end |