| ! { dg-do compile } |
| ! |
| ! PR fortran/51809 |
| ! |
| ! Contributed by Kacper Kowalik |
| ! |
| module foo |
| implicit none |
| |
| type foo_t |
| contains |
| procedure :: func_foo |
| end type foo_t |
| |
| contains |
| |
| subroutine func_foo(this) |
| implicit none |
| class(foo_t), intent(in) :: this |
| end subroutine func_foo |
| |
| end module foo |
| |
| module bar |
| use foo, only: foo_t |
| |
| implicit none |
| |
| type, extends(foo_t) :: bar_t |
| contains |
| procedure :: func_bar |
| end type bar_t |
| |
| contains |
| |
| subroutine func_bar(this) |
| use foo, only: foo_t ! <--- removing this line also fixes ICE |
| implicit none |
| class(bar_t), intent(in) :: this |
| end subroutine func_bar |
| |
| end module bar |
| |
| module merry_ICE |
| use foo, only: foo_t ! <------ change order to prevent ICE |
| use bar, only: bar_t ! <------ change order to prevent ICE |
| end module merry_ICE |